4

このコードは、 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)'

どうしてか分かりません...

手伝ってくれてありがとう。

4

2 に答える 2

2

同じキーを持っているように見えるスタイル/テンプレートがあるようです。または、いくつかの要素に複数のスタイルが設定されています。リソースとリソース ライブラリを確認します。

于 2013-08-18T14:36:13.487 に答える
0

スタイルがグローバル (x:Key が設定されていない) であることが意図されている場合、その TargetType はそれを検索するためのキーとして使用されます。同じ TargetType で異なるキーを持つ複数のスタイルがある場合は、TargetType を設定する前に x:Key-Attribute を設定する必要があります。例 - これを変更します。

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

これに:

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

したがって、すべてのスタイルを一意のキーで Ressource-Dictionary に追加できます。

于 2018-08-23T18:46:20.063 に答える