Как заполнить коллекцию через интерфейс? Вот XAML:
<local:ViewModel>
<local:Test Text="Hmm!"/>
</local:ViewModel>
Вот модель, которая работает:
[ContentProperty("Tests")]
public class ViewModel
{
public List<Test> Tests { get; } = new List<Test>();
}
Где:
public class Test
{
public string Text { get; set; }
}
Я хотел бы пойти с интерфейсом, хотя:
[ContentProperty("Tests")]
public class ViewModel
{
public IList<Test> Tests { get; } = new List<Test>();
}
К сожалению, не компилируется:
Невозможно установить свойство содержимого «Тесты» для элемента «ViewModel». «Тесты» имеют неправильный уровень доступа или его сборка не разрешает доступ.
На самом деле я создаю экземпляр PostSharp AdvisableCollection<T>
и не хочу, чтобы клиентский код зависел от него.
List<T> { get; }
, но не может скомпилироватьIList<T> { get; }
. - person Dmitry Nogin   schedule 16.09.2018