Я в настоящее время Dependency Property как таковой:CollectionPropertiesShouldBeReadOnly и Dependency Properties
public static readonly DependencyProperty MyPropertyProperty = DependencyProperty.Register("MyPropertyDefaults", typeof(ICollection<string>), typeof(MyPanel), new PropertyMetadata(new List<string>()));
public ICollection<string> MyProperty
{
get
{
return GetValue(MyPropertyProperty) as ICollection<string>;
}
set
{
this.SetValue(MyPropertyProperty, value);
}
}
Цель состоит в том, что этот подпанель будет передан список с помощью привязки, что подпанель манипулирует, а затем родители могут прочитать позже , Например.
<xaml:MyPanel MyProperty="{Binding MyPropertyList}" />
Однако, FxCop сообщает CollectionPropertiesShouldBeReadOnly и мне нужно удалить сеттер, который требуется по свойству. Как это исправить? Каков правильный способ делать то, что я делаю?
не возможно? Свойство «MyPanel.MyProperty» не может быть установлено, потому что у него нет доступного доступа для доступа. – Detritus
Может ли это работать, как указано выше? – Udo
Нет, интерфейс требует, чтобы сеттер был общедоступным, чтобы использовать его. Я подозреваю, что проблема кроется в коллекции, которую я использую, и мне не следует передавать коллекции напрямую, как я, но каким-то другим способом? – Detritus