0

GridViewをビューとして使用するListViewがあり、リスト内の各アイテムにはRadioButtonを含むDataTemplateがあります。最初の(または任意の)RadioButtonをチェックして、実際にCheckedイベントを発生させる方法を理解しようとしています。これが私のxamlです:

                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="Selected">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <RadioButton    Name="selectedFoo" 
                                                    Checked="selectedRadio_Checked"
                                                    IsChecked="True"

                                                    Tag="{Binding Id}"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Id" DisplayMemberBinding="{Binding Id}"/>
                        <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
                    </GridView>
                </ListView.View>
            </ListView>  
4

2 に答える 2

0

最終的に、ラジオ ボタンのロードされたイベントにハンドラーをアタッチし、Checked ハンドラーを呼び出しました。最善の解決策ではありませんが、私にとってはうまくいきます。

于 2012-05-11T14:28:51.570 に答える
0
private void RadioListBox_SelectionChanged(object sender, RoutedEventArgs e)
{
    var button = sender as RadioButton;
    MessageBox.Show(button.Tag.ToString());
}


<ListView Margin="18,32,20,45" Name="lstVW" ItemsSource="{Binding}">
    <ListView.View>
        <GridView>
             <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}" Width="50"/>
             <GridViewColumn Header="Drug Generic Name" DisplayMemberBinding="{Binding Name}" Width="700"/>
             <GridViewColumn Header="Status" DisplayMemberBinding="{Binding Status}" Width="100"/>
             <GridViewColumn Header="Status">
                 <GridViewColumn.CellTemplate>
                      <DataTemplate>
                           <StackPanel>
                                <RadioButton x:Name="rad" GroupName="optionsStatus" IsChecked="False" Tag="{Binding Id}" Background="WhiteSmoke" Height="30"  Click="RadioListBox_SelectionChanged"/>
                           </StackPanel>
                      </DataTemplate>
                 </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>
于 2014-07-19T17:56:19.603 に答える