Phần sau đây tương tự như những gì tôi đang cố gắng hoàn thành. Tuy nhiên, tôi gặp lỗiChỉ định ControlTemplate cho ItemsControl.ItemContainerStyle
Giá trị thuộc tính không hợp lệ.
trên Mẫu Setter
. Tôi nghi ngờ đó là vì tôi đã không chỉ định một TargetType
cho Style
; tuy nhiên, tôi không biết loại vùng chứa cho 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>
Hoạt động bơi lội! Tôi đã cố gắng làm tất cả những điều đó với XAML, và chỉ một vài dòng mã để lấy được một lớp làm cho mọi thứ trở nên vui vẻ, gọn gàng và sạch sẽ. –
"Nếu bạn đã thêm một mục không phải là UIElement, setter đó sẽ đặt thuộc tính Control.Template trên ContentPresenter, thành công nhưng không có hiệu lực." - Tôi đã tìm kiếm các lứa tuổi trước khi tôi tìm thấy mẹo này! – Daniel