【发布时间】:2018-12-04 15:25:16
【问题描述】:
我在 WPF 和 C# 中的第一步,但我没有让它工作...... :(
我有一个应用程序,在一个窗口内有两个网格。我必须更改第一个网格的样式,所以我开始阅读并使用 ControlTemplate。 我的网格现在看起来像我想要的那样。但我只希望第一个网格看起来像这样。同一页面上的第二个应该有另一种样式。
是否可以仅在一个网格上绑定控件模板。也许是通过名称或其他识别方式?
我现在在 window.resources 中编写的 ControlTemplate 代码看起来:
<Style TargetType="{x:Type TabItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Grid>
<Border
Name="Border"
Margin="0,0,0,0"
Background="Black"
BorderBrush="Black"
BorderThickness="0,2,0,0"
CornerRadius="0,0,0,0" >
<ContentPresenter x:Name="ContentSite"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="0,0,0,20"
RecognizesAccessKey="True"/>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="Border" Property="BorderBrush" Value="#FF454E54" />
<Setter TargetName="Border" Property="Background" Value="#FF0A3651" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="Border" Property="BorderBrush" Value="White" />
<Setter TargetName="Border" Property="Background" Value="#FF454E54" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
【问题讨论】:
标签: wpf grid controltemplate