从TextBlock MouseDown获取DataContext [英] Get DataContext from TextBlock MouseDown
本文介绍了从TextBlock MouseDown获取DataContext的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ListView GridView中的绑定列
Bound column in a ListView GridView
如何在MouseDown事件中获取数据源
How to get the DataSource in a MouseDown event
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name, Mode=OneWay}"
MouseDown="NameCol_mousedown"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
这可以在另一个项目中使用ListView中的按钮进行工作.
This works in another project with a button in a ListView.
这是它尝试过的...
This is what it tried ...
错误无法将类型为"MS.Internal.NamedObject"的对象转换为类型为"ListViewDragDrop.DocProp"的对象.
Error Unable to cast object of type 'MS.Internal.NamedObject' to type 'ListViewDragDrop.DocProp'.
数据源是DocProp.
The DataSource is DocProp.
private void NameCol_mousedown(object sender, MouseButtonEventArgs e)
{
TextBlock tb = (TextBlock)sender;
object data = tb.DataContext;
dataSource = (DocProp)tb.DataContext;
}
推荐答案
尝试一下...
private void NameCol_mousedown(object sender, MouseButtonEventArgs e)
{
var tb = (TextBlock)e.OriginalSource;
var dataCxtx = tb.DataContext;
var dataSource = (DocProp)dataCxtx;
}
这篇关于从TextBlock MouseDown获取DataContext的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文