如何在WPF中新建Style(需要应用继承)应用于左边表格,需要将选中行颜色改成对应颜色(颜色请用工具获取),其他同右边表格。
时间: 2024-12-15 09:25:19 浏览: 26
在WPF中,为了创建一个可以应用于两个不同表格(左侧和右侧)且允许继承并改变选中行颜色的新Style,你需要按照以下步骤操作:
1. 创建一个新的`Style`:
```xml
<!-- Base Style -->
<Style TargetType="{x:Type Control}">
<Setter Property="Background" Value="White" /> <!-- 设置默认背景色 -->
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<!-- 当元素被选中时应用的触发器 -->
<Setter Property="Background" Value="{DynamicResource YourColorProperty}" />
</Trigger>
</Style.Triggers>
</Style>
```
这里,`YourColorProperty` 是一个动态资源引用,你可以在项目的资源文件(如`App.xaml`或`Resources.xaml`)中定义颜色变量并赋予它特定的颜色值。例如:
```xml
<ResourceDictionary>
<SolidColorBrush x:Key="SelectedRowColor">你的选中行颜色</SolidColorBrush>
</ResourceDictionary>
```
2. 应用到左表格:
```xml
<TableLayoutPanel Name="LeftTableLayoutPanel">
<TableLayoutPanel.Style>
<!-- 将上述Base Style应用到左表格,如果需要继承,只需保留相同的名称 -->
<Style x:Key="SharedStyle" BasedOn="{StaticResource {x:Null}}" />
</TableLayoutPanel.Style>
<!-- 左侧单元格的内容 -->
</TableLayoutPanel>
```
3. 应用到右表格:
```xml
<TableLayoutPanel Name="RightTableLayoutPanel">
<!-- 需要应用相同的Base Style,只是要区分Key以便不影响左表格 -->
<TableLayoutPanel.Style>
<Style x:Key="SharedStyle" BasedOn="{StaticResource {x:Null}}" />
</TableLayoutPanel.Style>
<!-- 右侧单元格的内容 -->
</TableLayoutPanel>
```
现在,当你选中表格中的行时,其背景颜色会变成你在资源文件中定义的颜色。注意,为了确保一致性,两个表格都需要使用同样的`Style` Key名。
阅读全文
相关推荐


















