在 WPF 中,您可以创建一个Style
作为 XAML 中控件类型的默认值的:
<Style TargetType="{x:Type local:MyControl}">
. . .
</Style>
Style
然后,当 WPF 显示该控件时,它会根据其类型从资源中查找该控件。
我想在我的程序的代码隐藏中做同样的事情。我怎么找到那个Style
?
在 WPF 中,您可以创建一个Style
作为 XAML 中控件类型的默认值的:
<Style TargetType="{x:Type local:MyControl}">
. . .
</Style>
Style
然后,当 WPF 显示该控件时,它会根据其类型从资源中查找该控件。
我想在我的程序的代码隐藏中做同样的事情。我怎么找到那个Style
?
您可以使用控件类型作为关键字在Application级资源中搜索样式:
Style defaultStyle = Application.Current.TryFindResource(typeof(MyControl)) as Style;
object globalStyleDefinedByApp;
Style globalStyle = new Style(typeof(TargetType));
if (Application.Current.Resources.TryGetValue(typeof(TargetType), out globalStyleDefinedByApp))
{
globalStyle = globalStyleDefinedByApp as Style ?? globalStyle;
}
万一有人在这里寻找通用 Windows 项目 (UWP) 的解决方案,则不TryFindResource
存在,因此以上是您必须这样做的方法。