我已经为我的usercontrol中的TextBox继承的控件定义了两个资源字典,如下所示:
<UserControl.Resources>
<ResourceDictionary Source="KeyBox.xaml" x:Key="KeyBox" ></ResourceDictionary>
<ResourceDictionary Source="kTextBox.xaml" x:Key="kTextBox" ></ResourceDictionary>
</UserControl.Resources>
我在不同目标类型的单独文件中创建了样式:
<Style TargetType="b:kTextBox" >
现在,当我使用这些资源创建控件时,实际应用的最后一个样式实际应用,所以如果我删除第二个,则第一个工作。我在这里缺少一些东西来在同一个用户控件中使用两个资源,我无法弄清楚它是什么。任何想法都非常赞赏。
答案 0 :(得分:0)
尝试添加这样的资源词典:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="KeyBox.xaml" x:Key="KeyBox" ></ResourceDictionary>
<ResourceDictionary Source="kTextBox.xaml" x:Key="kTextBox" ></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
请注意,除非您有一个名为kTextBox的类,否则您的Style不起作用。
还值得一提的是,您的控件一次只应用一种样式,并且将应用添加到字典中的最后一个资源。因此,如果您在两个字典中使用相同的键定义了样式,则将应用kTextBox.xaml中的样式。