查找的默认样式类型的代码背后(Finding the default style for a typ

2019-07-20 16:24发布

在WPF中,你可以创建一个Style充当默认为XAML控件类型:

<Style TargetType="{x:Type local:MyControl}">
    . . .
</Style>

然后,当WPF去显示控制,查找该Style基于该其类型的资源。

我想要做的这相当于在我的程序的代码隐藏。 如何找到Style

Answer 1:

您可以通过使用控制型的关键搜索在应用程序级资源的样式:

Style defaultStyle = Application.Current.TryFindResource(typeof(MyControl)) as Style;


Answer 2:

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存在所以上面是你如何必须这样做。



文章来源: Finding the default style for a type in code behind