2012-05-11 68 views
0

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

任何帮助将不胜感激。

+0

有没有,你将不得不自己处理 – animaonline

回答

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有三个公共字符串属性称为列1,列2和栏3:

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

当您使用GridView时,整个行的高亮显示默认完成。

+0

非常感谢您的回答。我很抱歉没有在我的第一篇文章中发布我的XAML代码,但它看起来和你的一样。实际上,当单击单元格的TEXT时,它会选择整行,但当单击列表视图内的空白时,它不会悬停整行。 – beta