我有一个Styles.xaml文件,其中包含许多ResourceDictionary,这些ResourceDictionary被分组放在MergedDictionary中。
我在我的UserControl.Resources中引入了Styles.xaml。
<UserControl.Resources>
<ResourceDictionary Source="Dictionaries\Styles.xaml" />
</UserControl.Resources>
但是当我尝试添加一个转换器时
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionaries\Styles.xaml" /> <--! Exception -->
</ResourceDictionary.MergedDictionaries>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</ResourceDictionary>
</UserControl.Resources>
它引发异常:参数不能为空。
参数名:item
将转换器包装在另一个MergedDictionary
中没有效果。
我该如何解决?
谢谢大家!
已解决
最终,我找到了问题所在:异常是在一个.xaml文件中引发的,但Visual Studio没有提供足够的信息来定位错误的行。
以下代码可以解决问题。
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionaries\Styles.xaml" />
</ResourceDictionary.MergedDictionaries>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
</ResourceDictionary>
</UserControl.Resources>