首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView ItemsSource结合

ListView ItemsSource结合
EN

Stack Overflow用户
提问于 2016-02-18 09:42:56
回答 1查看 518关注 0票数 0

我有一个包含3列的ListView:

代码语言:javascript
复制
<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被正确地填充,我能够通过绑定接收它们的数据,但是我不能用它们各自的数据填充这些列。

我已经想出了一些可能的解决办法,但似乎没有一种可行。解决这个问题的最佳方法是什么?

下面是它的外观(左)和它应该看起来的样子(右):

用它们的类型命名可能有点令人费解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-18 09:57:19

你有三个收藏品,但只有一个是绑定的。所以所有的列都有相同的值。尝试创建一个包含所有需要的集合:

代码语言:javascript
复制
ObservableCollection<MyRow>

其中MyRow是一个具有您需要的属性的类或结构。

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

你仍然可以从这三个中创建你自己的收藏--解析它.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35477821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档