我有一个包含3列的ListView:
<ListView ItemsSource="{Binding ParamName}" HorizontalAlignment="Left" Height="109" Margin="10,87,0,0" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Width="281">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn Header="Name" Width="60"/>
<GridViewColumn Header="Type" Width="60"/>
<GridViewColumn Header="Content" Width="156"/>
</GridView>
</ListView.View>
</ListView>目前,我已经将ParamName设置为我的ItemsSource,这样显然无法达到预期的结果。
在我的ViewModel中,每一列都有ObservableCollections (名称为ParamName,类型为ParamType,内容为ParamContent )。这些ObservableCollections被正确地填充,我能够通过绑定接收它们的数据,但是我不能用它们各自的数据填充这些列。
我已经想出了一些可能的解决办法,但似乎没有一种可行。解决这个问题的最佳方法是什么?
下面是它的外观(左)和它应该看起来的样子(右):


用它们的类型命名可能有点令人费解。
发布于 2016-02-18 09:57:19
你有三个收藏品,但只有一个是绑定的。所以所有的列都有相同的值。尝试创建一个包含所有需要的集合:
ObservableCollection<MyRow>其中MyRow是一个具有您需要的属性的类或结构。
如果您已经拥有这些集合--尝试将其连接到一个主要集合,并告诉GridColumns您希望绑定到每一列的属性,但我不确定是否可以使用ObservableCollections --如果它们有不同的长度怎么办?
你仍然可以从这三个中创建你自己的收藏--解析它.
https://stackoverflow.com/questions/35477821
复制相似问题