簡體   English   中英

如何在數據網格中獲取選定的單選按鈕並通過單擊行選擇單選按鈕

[英]How to get selected radiobutton in datagrid and select radiobutton by clicking the row

那是我的數據網格:

SelectHouse.xaml.cs

<DataGrid x:Name="HousesDataGrid" 
                  ItemsSource="{Binding AvailableHouses}"  
                  AutoGenerateColumns="False" 
                  CanUserAddRows="False"
                  IsReadOnly="True">

    <DataGrid.Columns>

        <DataGridTemplateColumn Header="Select:" Width="60" >
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                <RadioButton 
                    GroupName="GroupHouses" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>

        <DataGridTemplateColumn Header="House" Width="Auto">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Name, Mode=OneWay}" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>

</DataGrid>

SelectHouseViewModel:

public List<Houses> AvailableHouses
{
    get { return _availableHouses; }
}

我有兩個問題/疑問:

  1. 如何在我的視圖模型中獲得所選房屋?
  2. 如果要選擇第2行,則必須選中單選按鈕。 如果單擊第二行中的任何一列,是否可以選擇單選按鈕?例如,如果單擊第二行中房屋的一列,則應該選擇第二行的單選按鈕

1)要獲取DataGrid的選定行,只需將其SelectedItem屬性綁定到ViewModel中的可設置House a-la SelectedItem = {Binding SelectedHouse},其中SelectedHouse是VM中的屬性。

2)為什么您甚至需要一個單選按鈕-僅僅是在視覺上加強行選擇? 如果是這種情況,則需要將IsSelected屬性添加到房屋VM中,並將單選按鈕的IsSelected屬性綁定到它。 您還需要連接到DataGrid的SelectionChanged事件,以使所有狀態保持一致。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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