C# ListView项目资源绑定

C# ListView项目资源绑定,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,我有一个包含3列的列表视图: <ListView ItemsSource="{Binding ParamName}" HorizontalAlignment="Left" Height="109" Margin="10,87,0,0" VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Width="281"> <ListView.View> &

我有一个包含3列的列表视图:

<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中,每个列都有可观察的集合(
ParamName
表示名称,
ParamType
表示类型,
ParamContent
表示内容)。这些ObservableCollection已正确填充,我可以通过绑定接收它们的数据,但我无法用它们各自的数据填充列

我想到了一些可能的解决办法,但似乎没有一个奏效。解决这个问题的最佳方法是什么

下面是它的外观(左)和应该的外观(右):


按类型命名可能有点混乱。

您有三个集合,但只有一个是绑定的。所以所有列都有相同的值。 尝试创建一个包含所有所需内容的集合:

ObservableCollection<MyRow>
observedcollection
其中
MyRow
是具有所需属性的类或结构

如果您已经有了这些集合-尝试将其连接到一个主要集合,并告诉GridColumns您希望绑定到每个列的属性,但我不确定是否可以使用ObservableCollections-如果它们的长度不同怎么办


您仍然可以从这三个集合中创建自己的集合-只需解析它…

您有三个集合,但只有一个是绑定的。所以所有列都有相同的值。 尝试创建一个包含所有所需内容的集合:

ObservableCollection<MyRow>
observedcollection
其中
MyRow
是具有所需属性的类或结构

如果您已经有了这些集合-尝试将其连接到一个主要集合,并告诉GridColumns您希望绑定到每个列的属性,但我不确定是否可以使用ObservableCollections-如果它们的长度不同怎么办


您仍然可以从这三个集合中创建自己的集合-只需解析它…

您有三(3)个集合吗?为什么?据我所知,您只绑定了一个集合,而所有树列都有相同的值?尝试更改参数名,看看是否如此。如果我的建议是正确的,那么尝试创建一个复杂类型的集合,其中包含所有值:ObservableCollection,其中MyRow是一个具有所需属性的类。@Shwed_Berlin是的,这就是我的问题所在。我有3个不同的集合,我希望将一个集合绑定到每个列。请尝试创建一个复杂类型的集合,其中包含所有值:ObservableCollection,其中MyRow是一个具有所需属性的类。P.S.抱歉,编辑我的评论时遇到问题:)@Shwed_Berlin鉴于我有这个集合,数据如何正确地显示在列表视图中?请阅读我的回答您有三(3)个集合吗?为什么?据我所知,您只绑定了一个集合,而所有树列都有相同的值?尝试更改参数名,看看是否如此。如果我的建议是正确的,那么尝试创建一个复杂类型的集合,其中包含所有值:ObservableCollection,其中MyRow是一个具有所需属性的类。@Shwed_Berlin是的,这就是我的问题所在。我有3个不同的集合,我希望将一个集合绑定到每个列。请尝试创建一个复杂类型的集合,其中包含所有值:ObservableCollection,其中MyRow是一个具有所需属性的类。另外,很抱歉,编辑我的评论时遇到问题:)@Shwed_Berlin鉴于我有此收集,如何在ListView中正确显示数据?请阅读我的答案