Wil*_*ins 1 c# wpf xaml listbox stackpanel
我有对象我正在数据绑定到WPF中的ListBox.以下是最终结果的样子:
------------------------------- | Name | Opt1 | Value1 | | | Opt2 | Value2 | | | Opt3 | Value3 | | | Opt4 | Value4 | -------------------------------
基本上我有一个整体变量的DataTemplate,然后Opt/Value组合有它自己的DataTemplate.我正在尝试尽可能简单地显示值列表.
<Label Content="{Binding Path=Identifier.Name, Mode=OneWay}" />
<ListView Grid.Column="1" HorizontalAlignment="Stretch"
ItemsSource="{Binding Path=Values, Mode=OneWay}" />
Run Code Online (Sandbox Code Playgroud)
Value的绑定目前只有<Grid>2 <Label>,而ListView有很多我不看的功能,比如边框样式,选择等,当我真正想要的是能够使用List进行数据绑定时.
我试图将项目数据绑定到一个堆栈面板,但无法让它在XAML中工作.我想另一个解决方案是做我正在做的事情,并重写<Style>for ListView.有关正确方法的任何建议吗?
它当然听起来像你可以使用ListBox,或如果你不希望它们可选择的ItemsControl.我们还可以使用IsSharedSizeScope附加属性来保持我们的列格式化甚至.另外,看一下ListBox链接底部的继承Higharchy,它应该可以帮助您确定不同场景所需的列表类型.
尝试这样的事情:
<DockPanel>
<Label Content="{Binding Path=Identifier.Name, Mode=OneWay}" />
<ListBox ItemsSource="{Binding Path=Values, Mode=OneWay}"
Grid.IsSharedSizeScope="True">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="OptionColumn" />
<ColumnDefinition SharedSizeGroup="ValueColumn" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Option}" />
<TextBlock Grid.Column="1" Text="{Binding Value}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)