我有外部库libccc,其自己的资源定义如下:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ccc="clr-namespace:libccc"
>
<ccc:BooleanToHiddenVisibilityConverter x:Key="BooleanToHiddenVisibilityConverter" />
</ResourceDictionary>
在我的主项目中,我使用主app.xaml中的ResourceDictionary.MergedDictionaries包含它:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/libccc;component/Resources/Converters.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
现在我的问题是,当我仅从控制模板引用该资源时:
<window style="{StaticResource MyDialog}">
</window>
在应用程序中定义样式,如下所示:
<ResourceDictionary>
<Style x:Key="MyDialog" TargetType="{x:Type Window}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid>
<Label HorizontalAlignment="Center" Content="{Binding UpdateResultDescription}" Visibility="{Binding UpdateEnded, Converter={StaticResource BooleanToHiddenVisibilityConverter}, FallbackValue=Hidden}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary
VisualStudio Designer抛出异常:
异常:找不到名为'BooleanToHiddenVisibilityConverter'的资源。资源名称区分大小写。
我的应用程序按预期工作,但设计器抛出异常。当我在不使用控件模板的其他窗口中引用我的libccc时,设计器工作正常。
任何人都可以给我一个暗示,我可以改变什么来让设计师工作?