Nic*_*ebb 12 wpf .net-4.0 resourcedictionary
我有一个带有以下TextBlock的WPF ResourceDictionary:
<TextBlock Visibility="{Binding Converter={StaticResource MyBoolProp ResourceKey=BoolToVis}}">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
ResourceDictionary包含在MergedDictionaries下的App.xaml中:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyResourceDictionary.xaml"/>
Run Code Online (Sandbox Code Playgroud)
在App.xaml中,我定义了BoolToVis转换器(再次,在下Application.Resources)
<BooleanToVisibilityConverter x:Key="BoolToVis" />
Run Code Online (Sandbox Code Playgroud)
当我启动我的应用程序时 - 我得到以下XamlParseException:
"在'System.Windows.Markup.StaticResourceHolder'上提供价值引发了异常."
InnerException是:
"找不到名为'BoolToVis'的资源.资源名称区分大小写."
我可以直接用App.xaml引用这个转换器(事实上,特定的XAML声明是相同的),并且在其他UserControl中没有问题.
这个特殊的代码在.NET 4.0 RC(和Beta2)下运行良好.仅当我升级到.NET 4.0 RTM时才会发生此错误.
我可以通过BooleanToVisibilityConverter在MyResourceDictionary.xaml中声明另一个并且像这样引用它来解决它:
<TextBlock Visibility="{Binding Converter={StaticResource MyBoolProp ResourceKey=BoolToVis2}}">
</TextBlock>
Run Code Online (Sandbox Code Playgroud)
有什么理由我需要这样做吗?
| 归档时间: |
|
| 查看次数: |
8747 次 |
| 最近记录: |