gpt4 book ai didi

WPF 用户控件样式

转载 作者:行者123 更新时间:2023-12-04 16:21:56 24 4
gpt4 key购买 nike

我想设置我项目的所有用户控件的背景属性。

我试过

<style TargetType={x:Type UserControl}>
<setter property="Background" Value="Red" />
</style>

它编译但没有工作。

任何的想法?
谢谢!

最佳答案

您只能为特定类设置样式,因此这将起作用(创建一个 UserControl 对象,不是很有用):

<Window.Resources>
<Style TargetType="{x:Type UserControl}">
<Setter Property="Background" Value="Red" />
</Style>
</Window.Resources>
<Grid>
<UserControl Name="control" Content="content"></UserControl>
</Grid>

但这不会(创建一个从 UserControl 派生的类):
<Window.Resources>
<Style TargetType="{x:Type UserControl}">
<Setter Property="Background" Value="Red" />
</Style>
</Window.Resources>
<Grid>
<l:MyUserControl Name="control" Content="content"></l:MyUserControl>
</Grid>

您可以做的是使用 Style 属性显式设置样式:
<Window.Resources>
<Style TargetType="{x:Type UserControl}" x:Key="UCStyle">
<Setter Property="Background" Value="Red" />
</Style>
</Window.Resources>
<Grid>
<l:MyUserControl Name="control" Content="content" Style="{StaticResource UCStyle}"></l:MyUserControl>
</Grid>

或者为每个派生类创建一个样式,可以使用BasedOn来避免重复样式内容:
<Window.Resources>
<Style TargetType="{x:Type UserControl}" x:Key="UCStyle">
<Setter Property="Background" Value="Red" />
</Style>
<Style TargetType="{x:Type l:MyUserControl}" BasedOn="{StaticResource UCStyle}" />
</Window.Resources>
<Grid>
<l:MyUserControl Name="control" Content="content"></l:MyUserControl>
</Grid>

关于WPF 用户控件样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/632356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com