假设我们有以下控制定义
<ctrl:ChildWindow x:Class="Control.Editor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ctrl="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:local="clr-namespace:Control"
Width="400" Height="300"
local:AttachedProperties.DialogResult="{Binding Path=DialogResult}"
Title="{Binding Path=Caption}" Style="{StaticResource Title}" DataContext="{Binding}" HasCloseButton="False">
<ctrl:ChildWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Control;component/Resources/BaseAppearance.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ctrl:ChildWindow.Resources>
</ctrl:ChildWindow>
问题是无法设置根控件上的样式,因为未加载ResourceDictionary
。
当我无法访问StaticResource Title
类时,如何在控件初始化期间访问App
?如果我能访问它,我也不确定它是否可能。
此致
答案 0 :(得分:1)
我建议您访问您的资源并在您的控件的.Loaded()事件中进行工作。
编辑:第二个想法......我想我知道你现在正在做什么......你的App.xaml类中有一个资源集,但你想在你的控制中访问它。
解决问题的简单方法是将其设置为DynamicResource而不是......但这种性能较差。
属性选项卡中App.xaml上的BuildAction设置为什么? 如果它是ApplicationDefinition ...那么您应该能够像现在一样访问您的资源。
答案 1 :(得分:1)