可延迟的内容xaml

时间:2013-03-15 14:53:08

标签: c# xaml

此代码提示XamlParseException:

  

'设置属性'System.Windows.ResourceDictionary.DeferrableContent'   抛出一个例外。'行号“15”和行位置“14”

<UserControl  x:Class="MyView.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:bv="clr-namespace:MyModel.FaultLibrary;assembly=Controller"
         xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"       
         xmlns:i18n="http://wpflocalizeextension.codeplex.com"
         i18n:LocalizeDictionary.DesignCulture="en"
         i18n:ResxLocalizationProvider.DefaultAssembly="MyView"
         i18n:ResxLocalizationProvider.DefaultDictionary="I18n"
         xmlns:gif="http://wpfanimatedgif.codeplex.com"
         mc:Ignorable="d" 
         d:DesignHeight="448" d:DesignWidth="955" FontFamily="Arial"
         TextOptions.TextFormattingMode="Display"
         SnapsToDevicePixels="True"
         UseLayoutRounding="True">

innerException:

  

项目已添加。键入字典:'DataTemplateKey(MyModel.FaultLibrary.TestPoint)'要添加的键:'DataTemplateKey(MyModel.FaultLibrary.TestPoint)'

我不知道为什么......

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

似乎有一些样式/模板似乎具有相同的键,否则,某些元素具有多个样式集。检查您的资源和资源库。

答案 1 :(得分:0)

如果样式是全局样式(未设置x:Key),则将使用TargetType作为查找它的关键。如果您有多个具有相同TargetType和不同键的样式,则需要在设置TargetType之前设置x:Key-Attribute。 示例-更改此内容:

<Style TargetType="Control" x:Key="MyStyle" />

对此:

<Style x:Key="MyStyle" TargetType="Control" />

因此,所有样式都可以使用唯一键添加到Ressource-Dictionary。