У меня есть класс, который наследует IDictionary
с именем ResourceDictionary
.
Также у меня есть еще один класс с атрибутом DictionaryKeyProperty
с именем Style
.
DictionaryKeyProperty
имеет имя TargetType
. содержимое файлаКаждая запись словаря должна иметь связанный ключ
XAML:
<ResourceDictionary
xmlns="clr-namespace:Test;assembly=Test"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
<Style TargetType="test" />
</ResourceDictionary>
Это дает ошибку Each dictionary entry must have an associated key.
public class ResourceDictionary : IDictionary, ICollection, IEnumerable, INameScope, ISupportInitialize
{
...
}
[ContentProperty("Setters"), DictionaryKeyProperty("TargetType")]
public class Style : Sealable, INameScope, IQueryAmbient, IResources
{
private Type _TargetType;
[Ambient]
public Type TargetType
{
get { return _TargetType; }
set
{
CheckSealed();
if (value == null)
throw new ArgumentNullException("value");
_TargetType = value;
}
}
......
}
Что я делаю неправильно?
Как я могу решить эту проблему?
P.S .: Я хочу создать легкую структуру, включающую систему зависимостей, такую как WPF.
- это ответ ..? или новый вопрос? Я не могу решить. Могу ли я предложить удалить этот вопрос и объяснить, как он мог бы использовать «Словарь»? – Default
Я хочу создать небольшую структуру, используя System.Xaml и WPF. – Kation
Подробнее пожалуйста. Я не могу следовать за тобой. –