我正在从 WPF 应用程序的后台代码生成一个 xaml,并希望将样式添加到生成的 xaml。我使用资源字典来存储我的应用程序将访问的样式信息,并根据资源字典中的键将其应用于生成的 xaml 中的相应元素。现在我想将特定样式应用于生成的 xaml 中的所有文本框。我想要做的是在资源字典中创建此样式而不使用键,并且我想将此样式资源添加到生成的 xaml 的资源中。我似乎无法找到一种方法来将特定资源添加到此生成的 xaml 的资源字典中,而无需密钥。我的问题是,是否可以这样做,即将资源添加到用户控件(或窗口等)的资源字典中,而无需该资源的密钥?
例如,这是我想要生成的 XAML:
<UserControl>
<UserControl.Resources>
<Style TargetType="{x:Type TextBox}">
<!--The TextBox style-->
</Style>
</UserControl.Resources>
</UserControl>
Thanks!
所以,我找到了一种方法来做到这一点。在添加到生成的 xaml 的资源而不是指定字符串键时,我使用了 typeof(TextBox) ,这似乎有效。
UserControl.Resources.Add(typeof(TextBox), styleDictionary["TextBoxStyleKey"]);
这导致:
<UserControl.Resources>
<Style TargetType="TextBox" x:Key="{x:Type TextBox}">
<!--The Style-->
</Style>
</UserControl.Resources>
有没有更好的方法(或任何其他方法)来做到这一点?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)