Я не использовал 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, Столбец2 и Column3:
public class MyClass
{
public string Column1 { get; set; }
public string Column2 { get; set; }
public string Column3 { get; set; }
}
Выделение всей строки выполняется по умолчанию, когда вы используете GridView
.
Нет никого, вам придется обращаться к этому самостоятельно – animaonline