2012-05-10 2 views
0

GridView를 뷰로 사용하고 목록의 각 항목에 RadioButton이있는 DataTemplate이 있습니다. 첫 번째 (또는 어떤) RadioButton을 검사하고 실제로 Checked 이벤트를 발생시키는 방법을 파악하려고합니다. 여기 내 XAML이다 : 나는 라디오 버튼에 대한 핸들러로드 이벤트를 부착하고 핸들러를 검사의 부르심 결국ListView.View GridView에서 RadioButton checked 이벤트가 발생했습니다.

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

답변

0

. 최고의 솔루션이 아니지만 그것은 나를 위해 작동합니다.

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>