我有我数据绑定到在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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top