我正在使用AvaloniaUI(WPF)构建一个带有列表框的简单表单。我希望列表框中的每个项目都有一个复选框。列表框中的值是硬连接的。文本按预期显示。我无法使每个列表框项目都显示复选框。
这里是我的Listbox定义的示例代码片段。
<DockPanel>
<ListBox x:Name="Test"
DockPanel.Dock="Top">
<ListBox.ItemTemplate>
<DataTemplate>
<DockPanel Margin="-10, 0, 0, 0">
<CheckBox DockPanel.Dock="Left"
IsChecked="True" />
<TextBlock DockPanel.Dock="Left"
Margin="5, 0, 0, 0"
TextTrimming="WordEllipsis"
VerticalAlignment="Center"
Text="{Binding}" />
</DockPanel>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBoxItem Content="One" />
<ListBoxItem Content="Two" />
<ListBoxItem Content="Three" />
</ListBox>
</DockPanel>
为什么不显示复选框?
2条答案
按热度按时间hs1rzwqc1#
直接添加ListBoxItems时不应用ItemTemplate。
将其更改为
String
s应该可以:您可能还需要添加
sys
的命名空间。7xzttuei2#
为什么不显示复选框?
因为
ItemTemplate
不适用于ListBoxItem
元素。按照@AndrewKeepCoding的建议,将项目的类型更改为其他类型,或者使用
DataTemplate
作为显式创建的ListBoxItem
元素的ContentTemplate
: