2017-04-10 15 views
1
<Window.Resources> 
    <Style x:Key="itemstyle" TargetType="{x:Type ListViewItem}"> 
     <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown" /> 
    </Style> 
</Window.Resources> 
<Grid> 
    <TabControl x:Name="tabControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
     <TabItem Header="업무공지"> 
      <Grid Background="#FFE5E5E5"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto" /> 
        <RowDefinition Height="*" /> 
        <RowDefinition Height="Auto" /> 
       </Grid.RowDefinitions> 

       <ListView Name="listView" 
           Grid.Row="1" 
           ItemContainerStyle="{StaticResource itemstyle}" 
           Margin="4" 
           Padding="2" 

           SelectionMode="Single"> 
        <ListView.View> 
         <GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}"> 
          <GridViewColumn > 
           <GridViewColumn.CellTemplate> 
            <DataTemplate > 
             <CheckBox IsChecked="{Binding Finished}" HorizontalAlignment="Center" /> 
            </DataTemplate> 
           </GridViewColumn.CellTemplate> 
          </GridViewColumn> 
          <GridViewColumn DisplayMemberBinding="{Binding Description}" Width="340" /> 
         </GridView> 
        </ListView.View> 
       </ListView> 
      </Grid> 

をクリックしたリストビューのテキストを取得したいです。私は上記のコードは私のXAMLコードである

次に、コードビハインドのクリックイベント


private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    var item = sender as ListViewItem; 

    if (item != null && item.IsSelected) 
    { 
     MessageBox.Show(item.Content.ToString()); 
    } 
} 

enter image description here

私はコントロール名を表示したくありません。

私が見たいものは、「ケースが終了しました」です。することが。

クリックしたリストビューのセルでテキストを取得するにはどうすればよいですか?

答えて

1

テキストから来ることになっていますが、TaskContentをキャストしようとし、そのプロパティのいずれかのアクセスすることができました「ケースが終了した」どこそれは不明である:私はここを参照してください

private void ListViewItem_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    var item = sender as ListViewItem; 
    if (item != null && item.IsSelected) 
    { 
     var task = item.Content as Copsys.Comm.Messenger.Task; 
     if (task != null) 
     { 
      MessageBox.Show(task.Description); 
     } 
    } 
} 
+0

別の方法をSelectedItemプロパティを使用することです。 –

+0

@NareshRavlani私は別の方法を見たいと思います。私は情熱に満ちた初心者の開発者です。すみません、私に別の方法を教えてもらえますか? –

+0

@ mm8あなたは本当に開発力に優れています。どのようにあなたのようにうまく発展することができますか? –

関連する問題