本來我試圖通過觸發器更改TextDecoration中筆的顏色,但是當我設置x:名稱屬性的筆我有一個目標未找到的錯誤,所以我已將模板更改爲以下內容:在觸發錯誤中設置TextDecoration
<ControlTemplate x:Key="TabButton" TargetType="{x:Type Button}">
<Border x:Name="border" Padding="10,5" CornerRadius="5,5,0,0" Background="#62A9FF">
<TextBlock x:Name="text" Text="{TemplateBinding Content}"
Cursor="Hand" Foreground="#F9FCFF">
<TextBlock.TextDecorations>
<TextDecoration Location="Underline"
PenThicknessUnit="FontRecommended">
<TextDecoration.Pen>
<Pen Brush="White" Thickness="1">
<Pen.DashStyle>
<DashStyle Dashes="5"/>
</Pen.DashStyle>
</Pen>
</TextDecoration.Pen>
</TextDecoration>
</TextBlock.TextDecorations>
</TextBlock>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="local:MainWindow.TabActive" Value="False">
<Setter TargetName="border" Property="Background" Value="Transparent"/>
<Setter TargetName="text" Property="Foreground" Value="Black"/>
<Setter TargetName="text" Property="TextDecorations">
<Setter.Value>
<TextDecorationCollection>
<TextDecoration Location="Underline">
<TextDecoration.Pen>
<Pen Brush="Gray" Thickness="1">
<Pen.DashStyle>
<DashStyle Dashes="5"/>
</Pen.DashStyle>
</Pen>
</TextDecoration.Pen>
</TextDecoration>
</TextDecorationCollection>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
現在構建應用程序沒有錯誤,但是當我運行它,我得到錯誤:
Cannot add content of type 'System.Windows.TextDecoration' to an object of type System.Windows.TextDecorationCollection
有什麼不對?或者可能有另一種方式?
謝謝!設置初始值throgh風格確實有助於解決問題 – Alexander