我想获取我点击

时间:2017-04-10 10:07:23

标签: wpf

<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

我不想看到控件名称。

我想看到的是“案件已经结束。”是。

如何获取我点击的listview单元格中的文本?

1 个答案:

答案 0 :(得分:1)

目前还不清楚文章“案件已经结束”应该来自哪里,但您可以尝试将Content转换为Task并访问其任何属性:

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);
        }
    }
}