![](/img/trans.png)
[英]How to show a value in combobox when i select a row of datagrid in wpf?
[英]How to tick a CheckBoxColumn when I select a row in a DataGrid in WPF
我的DataGrid列出了保存在數據庫中的聯系人:
<DataGrid ItemsSource="{Binding ContactsView}"
Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"
x:Name="contactsDataGrid" AutoGenerateColumns="False"
EnableRowVirtualization="True" Padding="10"
CanUserAddRows="False"
RowDetailsVisibilityMode="VisibleWhenSelected"
SelectionChanged="contactsDataGrid_SelectionChanged">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Select" Width="50" />
<DataGridTextColumn Binding="{Binding Salutation}" Header="Salut." />
<DataGridTextColumn Binding="{Binding FirstName}" Header="First Name" />
<DataGridTextColumn Binding="{Binding LastName}" Header="Last Name" />
<DataGridTextColumn Binding="{Binding EmailAddress}" Header="Email Address" />
<DataGridTextColumn Binding="{Binding Mobile}" Header="Mobile Number" />
<DataGridTextColumn Binding="{Binding BroadDesignation}" Header="Broad Designation" />
<DataGridTextColumn Binding="{Binding Designation}" Header="Designation" />
</DataGrid.Columns>
</DataGrid>
用戶應通過單擊選擇一行。 進行選擇后,該聯系人將添加到另一個列表中,該列表稍后使用:
private List<Contact> SelectedContacts = new List<Contact>();
private void contactsDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGrid ThisGrid = (DataGrid)sender;
Contact SelectedContact = (Contact)ThisGrid.SelectedItem;
if (!SelectedContacts.Contains(SelectedContact))
SelectedContacts.Add(SelectedContact);
}
我該如何做,以便當用戶進行選擇時, CheckBoxColumn
變為選中該復選框的狀態,以便用戶知道他們已經選擇了該行?
我會在您的類中添加另一個名為IsSelected
。 在SelectionChanged
方法中,您只需將屬性設置為true並刷新dataGrid。
類似於以下內容(未經測試):
private void contactsDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
DataGrid ThisGrid = (DataGrid)sender;
Contact SelectedContact = (Contact)ThisGrid.SelectedItem;
SelectedContact.IsSelected = true;
contactsDataGrid.Items.Refresh();
if (!SelectedContacts.Contains(SelectedContact))
SelectedContacts.Add(SelectedContact);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.