在WPF中等效WinForms ListView.FullRowSelect

时间:2012-05-11 12:27:15

标签: c# wpf listview

我似乎无法找到我喜欢在Windows窗体中使用的ListView.FullRowSelect属性的等价物。 WPF ListView是否支持此功能,还是必须将其迁移到DataGrid控件? ;)

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

我没有使用过WinForms,但是如果它像MFC一样,我假设你的意思是你想要在点击某个项目时突出显示整行,而不是仅仅是该行中的第一个单元格。绝对可以在WPF的ListView控件中执行。

由于您没有发布XAML,我必须假设您没有将ListView的视图设置为GridView。您不必立即跳转到使用DataGrid控件。

以下是一种典型方法的示例:

<ListView ItemsSource="{Binding Items}">
    <ListView.View>
        <GridView>
            <GridViewColumn DisplayMemberBinding="{Binding Column1}" Header="Column 1" />
            <GridViewColumn DisplayMemberBinding="{Binding Column2}" Header="Column 2" />
            <GridViewColumn DisplayMemberBinding="{Binding Column3}" Header="Column 3" />
        </GridView>
    </ListView.View>
</ListView>

Items可以是ObservableCollection<MyClass>,其中MyClass有三个名为Column1,Column2和Column3的公共字符串属性:

public class MyClass
{
    public string Column1 { get; set; }
    public string Column2 { get; set; }
    public string Column3 { get; set; }
}

使用GridView时,默认情况下会突出显示整行。