带有 GridViewColumn 和 DataTemplate 的 WPF ListView [英] WPF ListView with GridViewColumn and DataTemplate

查看:31
本文介绍了带有 GridViewColumn 和 DataTemplate 的 WPF ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 CheckedListBox 控件,它是通过向 ListView 添加带有 CheckBoxDataTemplate 来创建的.问题是我也需要列.

I have a CheckedListBox control which is created by adding a DataTemplate with a CheckBox to a ListView. The problem is that I need columns too.

以下代码不显示复选框:

The following code doesn't display the check boxes:

<ListView x:Name="lbDatabases" Height="138" Width="498" Canvas.Left="44" Canvas.Top="146">
    <ListView.View>
        <GridView>
            <GridViewColumn DisplayMemberBinding="{Binding DbName}" Header="Databases" Width="498"/>
        </GridView>
    </ListView.View>
    <ListView.ItemTemplate>
        <DataTemplate>                    
            <CheckBox IsChecked="{Binding IsActive}" Checked="AnyChange" Unchecked="AnyChange"  Style="{x:Null}" Content="{Binding DbName}"
                      Width="{Binding CheckWidth}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

但是,如果我注释掉这段代码,一切正常,但没有列:

However, if I comment out this code, everything works fine but no columns:

<ListView.View>
    <GridView >
        <GridViewColumn DisplayMemberBinding="{Binding DbName}" Header="Databases" Width="498"/>
    </GridView>
</ListView.View>

有什么办法可以拥有一切吗?

Is there any way to have it all?

推荐答案

您需要为您的列定义数据模板为 CellTemplate:

You need to define the data template as CellTemplate for your column:

<ListView x:Name="lbDatabases" Height="138" Width="498" Canvas.Left="44" Canvas.Top="146"  >
    <ListView.View >
        <GridView >
            <GridViewColumn Header="Databases" Width="498">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox IsChecked="{Binding IsActive}" Checked="AnyChange" Unchecked="AnyChange"  Style="{x:Null}" Content="{Binding DbName}"
                                  Width="{Binding CheckWidth}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

这篇关于带有 GridViewColumn 和 DataTemplate 的 WPF ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆