0
我想爲DataTemplate
中的控件設置Triggers。每當我在DataTemplate
中設置控件的屬性時,它似乎不起作用。但是,如果不在DataTemplate
中設置TextBlock
內的屬性,那麼我可以在樣式中看到Trigger
的效果(它有效)。我不知道使用樣式觸發器與DataTemplate
是否好! XAML在下面;用於DataTemplates的WPF樣式觸發器
<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>
...........
DataTemplate中的按鈕,
<Button.ContentTemplate>
<DataTemplate DataType="Button">
<TextBlock Style="{DynamicResource BlockOf}" Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}"
FontStyle="Italic" FontSize="9"/>
</DataTemplate>
</Button.ContentTemplate>
「第一個是當前的觸發將只能用於TextBlock的內扣,不超過整個按鈕」,這就是我想要的。我只想在按鈕中使用IsMouseOver作爲TextBlock。但是,對於第二個問題,我認爲你是對的。所以爲了使用樣式觸發器,我應該避免使用局部值,並通過樣式設置器爲前者設置它們,對吧? – Deniz 2014-10-30 17:17:41
對不起,我只是假設它是錯的。如果這是期望的行爲,那麼你的觸發器就好,只是不要設置本地值 – dkozl 2014-10-30 17:19:09