Это прекрасно работает:
<ItemsControl ItemsSource="{Binding Persons}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=FirstName}"/>
<TextBlock Text="{Binding Path=LastName}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Но я хочу использовать пользовательский элемент управления вместо панели стека с двумя текстовыми блоками, используя что-то вроде:
<DataTemplate>
<jasControls:NameView/>
</DataTemplate>
Но при этом и миллионе других синтаксисов NameView ничего не показывает, но он отлично работает в отдельном тесте, вне ItemsControl, с явно установленным свойством (зависимость) - например,
<jasControls:NameView FName="{Binding Path=Person.FirstName}" />
Я вряд ли смогу найти какие-либо примеры этого где-либо, и мне нужно знать, как указать свойства пользовательского элемента управления - или как пользовательский элемент управления может "получать" отдельный тип элемента (Персона)? Какой синтаксис использовать? Нужно ли указывать тип данных? Является ли ItemsControl причиной проблемы или какой-либо аналогичный элемент управления, например, ListBox? Могу ли я сделать так, чтобы пользовательский элемент управления получил весь объект Person? Какие свойства зависимостей мне нужны в пользовательском элементе управления? Одним словом, как получить данные в пользовательский элемент управления ?! Реальные бизнес-типы будут немного сложнее, включая некоторую логику в пользовательском элементе управления, поэтому я хочу использовать пользовательский элемент управления.
ЛЮБАЯ инструкция по этому вопросу будет принята с благодарностью - TIA