Следующее похоже на то, что я пытаюсь выполнить. Тем не менее, я получаю ошибкуУказать ControlTemplate для ItemsControl.ItemContainerStyle
Недопустимое значение PropertyDescriptor.
на шаблоне Setter
. Я подозреваю, что это потому, что я не указал TargetType
для Style
; однако я не знаю тип контейнера для ItemsControl
.
<ItemsControl>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<TextBlock Text="Some Content Here" />
<ContentPresenter />
<Button Content="Edit" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ItemsControl.ItemContainerStyle>
<!-- heterogenous controls -->
<ItemsControl.Items>
<Button Content="Content 1" />
<TextBox Text="Content 2" />
<Label Content="Content 3" />
</ItemsControl.Items>
</ItemsControl>
Работы плавно! Я пытался сделать все это с помощью XAML, и всего несколько строк кода для получения класса делают его счастливым, аккуратным и чистым. –
«Если вы добавили элемент, отличный от UIElement, этот установщик установит свойство Control.Template в ContentPresenter, что будет успешным, но не будет иметь эффекта». - Я искал веки, прежде чем нашел этот совет! – Daniel