显示数据绑定的StackPanel一个DataTemplate内
-
12-09-2019 - |
题
我有我数据绑定到在WPF列表框对象。下面是最终的结果应该是这样的:
------------------------------- | Name | Opt1 | Value1 | | | Opt2 | Value2 | | | Opt3 | Value3 | | | Opt4 | Value4 | -------------------------------
基本上我已经得到了全局变量一个DataTemplate,然后在选项/值组合有它自己的DataTemplate。我试图尽可能简单地显示的值的列表。
<Label Content="{Binding Path=Identifier.Name, Mode=OneWay}" />
<ListView Grid.Column="1" HorizontalAlignment="Stretch"
ItemsSource="{Binding Path=Values, Mode=OneWay}" />
在对价值只有2 <Grid>
的和ListView一个<Label>
结合目前有很多的功能,我不看,如边框造型,选择,这样,当我真正想要的是能够使用数据绑定名单。
我试着数据绑定的项目一个StackPanel,但不能让它在XAML工作。我想另一种解决方案是做我在做什么,并改写了ListView中<Style>
。在正确的方式有什么建议这样做?
解决方案
这当然听起来像东西,你可以用做列表框,或一个ItemsControl,如果你不希望他们选择。我们还可以使用的 IsSharedSizeScope 附加属性,以保持我们的列格式,甚至。另外,看看继承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>
不隶属于 StackOverflow