从TextBlock MouseDown获取DataContext

pap*_*zzo 2 .net c# wpf listview mouseevent

ListView GridView中的绑定列

如何在MouseDown事件中获取数据源

<GridViewColumn.CellTemplate>
    <DataTemplate>  
         <TextBlock Text="{Binding Path=Name, Mode=OneWay}" 
                    MouseDown="NameCol_mousedown"/>
    </DataTemplate>
</GridViewColumn.CellTemplate>
Run Code Online (Sandbox Code Playgroud)

这可以在另一个项目中使用ListView中的按钮进行工作。

这是它尝试过的...

错误无法将类型为“ MS.Internal.NamedObject”的对象转换为类型为“ ListViewDragDrop.DocProp”的对象。

数据源是DocProp。

private void NameCol_mousedown(object sender, MouseButtonEventArgs e)
{
    TextBlock tb = (TextBlock)sender;
    object data = tb.DataContext;
    dataSource = (DocProp)tb.DataContext;
}
Run Code Online (Sandbox Code Playgroud)

WPF*_*-it 5

尝试这个...

private void NameCol_mousedown(object sender, MouseButtonEventArgs e)
{
    var tb = (TextBlock)e.OriginalSource;
    var dataCxtx = tb.DataContext;
    var dataSource = (DocProp)dataCxtx;
}
Run Code Online (Sandbox Code Playgroud)