Hallo,
Wenn ich mehrere Buttons habe, die sich alle nur dadurch unterscheiden, dass zwei Grafiken (Standard und MouseOver // schwarz-weiß und farbig) unterschiedlich sind so muss ich für jeden Button einen eigenen Style bzw. ein eigenes Template schreiben, denn es scheint unmöglich zwei Grafiken von "außen" an das Template zu übergeben - bei einer einzelenen Grafik hat es noch über ein ContentTemplate funktioniert, zwei Grafiken zu übergeben klappt aber nicht.
Was kann ich nun tun? Das Control Button abzuleiten und zwei eigene Propertys anfügen um zum Ziel zu gelangen oder gibt es einen einfacheren Weg?
Vielen Dnak + viele Grüße.
Ich bin mir nicht sicher ob du das meinst.
Erstell als erstes deinen "base" Style.
<Style x:meineButtons ... />
<Style x:meineButtons1 basedon={StaticResource x:meineButtons} ... />
<Style x:meineButtons2 basedon={StaticResource x:meineButtons} ... />
<Style x:meineButtons3 basedon={StaticResource x:meineButtons} ... />
Bei den erweiterten meinButtons1-3 musst du dann noch das ControlTemplate setzen. In das ControlTemplate baust du deine Grafiken dann ein.
http://msdn.microsoft.com/de-de/library/ms753328%28v=vs.90%29.aspx
Schaut mal im IRC vorbei:
Server: https://libera.chat/ ##chsarp
Hallo,
vielen Dank für die Antwort. Der Vorgang ist bekannt. einem Template ist aber eben auch nur eine Grafikadresse von außen zuzuführen (Beispielsweise über ContentTemplate), sobald es um zwei Angaben geht muss das Template immer wieder neu definiert werden, genau das versuche ich ja zu umgehen ...
Hi Hans_Rakete,
Wenn ich mehrere Buttons habe, die sich alle nur dadurch unterscheiden, dass zwei Grafiken (Standard und MouseOver // schwarz-weiß und farbig) unterschiedlich sind...
Kennst du schon die AutoGrayImage-Klasse? Damit geht das sehr unkompliziert:
<Button>
<my:AutoGrayImage Source2="/GrayImage;component/Images/Tulips.png" />
</Button>
Christian
Weeks of programming can save you hours of planning