【发布时间】:2014-10-30 15:44:36
【问题描述】:
我想为DataTemplate 中的控件设置触发器。每当我在DataTemplate 中设置控件的属性时,它似乎都不起作用。但是,如果不在DataTemplate 内设置TextBlock 内的属性,那么我可以在样式中看到Trigger 的效果(有效)。我不确定使用带有DataTemplate 的样式触发器是否好用! XAML 如下;
<Grid>
<Grid.Resources>
<Style TargetType="TextBlock" x:Key="BlockOf">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="FontWeight" Value="ExtraBold" />
<Setter Property="FontSize" Value="22" />
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
...........
按钮的数据模板,
<Button.ContentTemplate>
<DataTemplate DataType="Button">
<TextBlock Style="{DynamicResource BlockOf}" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"
FontStyle="Italic" FontSize="9"/>
</DataTemplate>
</Button.ContentTemplate>
【问题讨论】: