1
我正在嘗試製作一個模板,該模板將更改Button
的背景以及其顏色爲TextBlock
。我在我的模板中嘗試了以下XAML,但它只是使鼠標懸停上的按鈕消失。有沒有辦法改變觸發器上的按鈕內容的屬性?在觸發器中更改XAML中的按鈕內容
<ControlTemplate TargetType="{x:Type Button}">
<Border
x:Name="Border"
CornerRadius="0"
BorderThickness="0"
Background="{x:Null}"
BorderBrush="#FF404040" />
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Border" Property="Background" Value="White" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate DataType="TextBlock">
<TextBlock Foreground="Blue" />
</DataTemplate>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
謝謝!正確地我需要=) – Parker 2012-08-13 17:53:36
旁邊的問題,如果我的Button的內容是一個StackPanel內部有一個TextBlock,我會用StackPanel.TextBlock.Foreground而不是TextBlock.Foreground嗎? – Parker 2012-08-13 17:56:34
不幸的是'TextBlock.Foreground'不能用於更復雜的場景(只是默認的)。 'StackPanel.TextBlock.Foreground'也不起作用。當你有更復雜的內容時,我認爲樣式應該在上下文本身而不是模板上完成。 – ShadeOfGrey 2012-08-14 06:04:03