gpt4 book ai didi

WPF 用户控件样式 -- 如果控件位于外部程序集中,如何从父项设置样式?

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

基本上我有以下结构:

<Window ...
xmlns:my="http://schemas.company.com/WPF/Controls"
>
<Window.Resources>
<Style x:Key="MyStyle1" TargetType={x:Type TextBlock}>
...
</Style>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<my:MyUserControl1 />
<my:MyUserControl1 />
<my:MyUserControl2 />
<my:MyUserControl2 />
</Grid>
</Window>

<UserControl ...
>
<TextBlock Style={ ?? What Goes Here ??} />
</UserControl>

如何应用在 Window 资源中声明的样式,以便它转到从外部程序集中提取的 UserControl?

最佳答案

如果您希望样式应用于所有 TextBlock s,包括 MyUserControl 中的那些, 只需将 x:Key 留在外面,它将被隐式应用

<Style TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="Green"/>
</Style>

如果你想明确设置它,你可以使用 DynamicResourceUserControl
<Window.Resources>
<Style x:Key="MyStyle1" TargetType="{x:Type TextBlock}">
<Setter Property="Foreground" Value="Green"/>
</Style>
</Window.Resources>
<StackPanel>
<my:UserControl1 />
<my:UserControl1 />
<my:UserControl1 />
<my:UserControl1 />
</StackPanel>

<UserControl ...>
<TextBlock Style="{DynamicResource MyStyle1}" Text="TextBlock"/>
</UserControl>

关于WPF 用户控件样式 -- 如果控件位于外部程序集中,如何从父项设置样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5263266/

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