| 

.NET C# Java Javascript Exception

2
Hallo,

ich habe mir unter WPF einen Button-Style gebastelt, dessen ContentPresenter die Eigenschaften des beinhaltenden TextBlock-Controls bestimmt:
<Style x:Key="TextButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Pressed"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<!-- GENAU HIER -->
<ContentPresenter x:Name="contentPresenter" TextBlock.FontSize="24"
TextBlock.FontFamily="Segoe WP Light"
TextBlock.Foreground="#646464"
RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Grid>
<ControlTemplate.Triggers>
...
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


Nun möchte ich im MouseOver-Zustand die Foreground-Eigenschaft des TextBlocks ändern.
Im Prinzip würde ich ein Storyboard im MousOver-VisualState einfügen und dort die Eigenschaft Storyboard.TargetProperty="(FrameworkElement.MeineProperty)" beeinflussen. Ich weiß jetzt aber nicht, wie ich das auf das TextBlock-Element beziehe, Expression Blend hilft mir in dieser Situation auch nicht weiter.
Ist es überhaupt klug, die TextBlock-Eigenschaft so festzulegen, wie ich es getan habe?
25.02.2011
Andy Stumpp 509 1 6
1 Antwort
0
Ich habe die Antwort nun selber gefunden:
In a button's control template, how can I set the color of contained text?

Die Lösung eignet sich dann, wenn man wirklich nur Text-Buttons haben möchte. Dafür wird im Template des Buttons der ContentPresenter rausgeschmissen und ein TextBlock-Element eingefügt.

Die Text-Property dann einfach an die Content-Eigenschaft binden und schon kann man in Expression Blend damit seine Spielchen für MouseOver-Events usw machen.
01.03.2011
Andy Stumpp 509 1 6

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH