[英]Selecting a row in DataGrid by clicking Row
我有一個DataGrid
,我試圖通過選擇行而不是單元格來更改所選項目。 從下圖中可以看到,當我在單元格外單擊時,該項目不會更新。
<DataGrid x:Name="customerListBox" SelectedItem="{Binding SelectedCustomer, UpdateSourceTrigger=PropertyChanged}" SelectionMode="Single" IsReadOnly="True" ItemsSource="{Binding Customers}" Margin="10,57,10,10" AlternationCount="2" BorderThickness="1" SnapsToDevicePixels="True" AutoGenerateColumns="False" BorderBrush="Black" Foreground="Black">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Id}" Header="Id"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name"/>
<DataGridTextColumn Binding="{Binding Phone}" Header="Phone"/>
<DataGridTextColumn Binding="{Binding Email}" Header="Email"/>
</DataGrid.Columns>
</DataGrid>
我能做的就是將最后一列的寬度設置為*
但是這會使標題顯示在中央,並且在寬屏顯示器上顯示時看起來很混亂。
<DataGridTextColumn Binding="{Binding Email}" Width="*" Header="Email"/>
我有解決此問題的解決方法,只需在Width =“*”的最后一列之后添加虛擬空列
你試過這個嗎?
customerListBox.SelectionUnit = DataGridSelectionUnit.FullRow;
你也可以使用
customerListBox.SelectionMode = DataGridSelectionMode.Extended;
如果需要,允許多種選擇
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.