簡體   English   中英

單擊“行”在DataGrid中選擇一行

[英]Selecting a row in DataGrid by clicking Row

我有一個DataGrid ,我試圖通過選擇行而不是單元格來更改所選項目。 從下圖中可以看到,當我在單元格外單擊時,該項目不會更新。

用戶嘗試在空白單元格上選擇行的GIF

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM