gpt4 book ai didi

wpf - 从另一个程序集为 WPF 中的 UserControl 设置样式

转载 作者:行者123 更新时间:2023-12-04 18:34:10 27 4
gpt4 key购买 nike

我在应用程序程序集中定义了一个 WPF 用户控件。我正在尝试根据另一个(皮肤或主题)程序集中的样式来设置用户控件的样式。我不希望包含所有样式的资源字典的主题/皮肤程序集引用应用程序程序集。有没有办法做到这一点?例如。

WPF应用程序集

MyUserControl.xaml <- WPF 用户控件

主题大会

MyStyles.xaml <- WPF 资源字典

我想我可以使用

<Style x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>

在 MyStyles.xaml 资源字典中,并使用:
<l:MyUserControl Name="control" Style="{StaticResource MyStyle}" />

在 WPFApplication 程序集中使用 MyUserControl.xaml 的任何窗口中

但是,我更愿意在 MyStyles.xaml 资源字典中定位自定义用户控件:
<Style TargetType="{x:Type l:MyUserControl}" x:Key="MyStyle">
<Setter Property="Background" Value="Red" />
</Style>

这可能吗??

最佳答案

是的,你可以做到。 Check this SO post我在这里展示了如何以编程方式进行操作。我是用 ControlTemplates 做的,但同样的事情也适用于 Styles。

要以声明方式执行此操作可能更简单,您可能必须以编程方式合并资源字典,在 xaml 中声明正确的静态资源和命名空间,然后只需引用所需的样式/模板。

关于wpf - 从另一个程序集为 WPF 中的 UserControl 设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2063954/

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