现在搞C++了,我都有点不太记得了这样应该可以:
DataRowView selectItem = datagriditems[索引] as DataRowView
然后通过 selectItem["列名"] 直接来访问数据
如果你的grid是双向绑定的话你要记住了你这样来改变某行某列,你的数据源也是会跟着改变的
我不记得的是个别属性的拼写是不是这样但是访问肯定是这样的通过行视图来访问和修改
在Override OnApplyTemplate方法里可以调用GetTemplateChild()方法来获取DataTemplate的元素
C# code
public override void OnApplyTemplate()
{
baseOnApplyTemplate();
_richBox = thisGetTemplateChild("RtBox") as RichBox;
}
_richBox是你自定义的变量 就可以控制这个richBox了
使用ListView的MouseDoubleClick事件,当你选中一行时,会得到ListViewSelectedItem,这个SelectedItem就是ListView数据源集合的一项,这样你就可以想显示什么就显示什么。
比如:ListView的DataContext绑定的数据源是List<Person>,Person类有三个属性(Name,Age,Sex),那么ListViewSelectedItem的值就是Person的一个对象,你想获得Text数据(假设是Name),只要使用var person = ListViewSelectedItem as Person;personName即可
看会到什么程度了,入门的应该有很多,比如说你是一个普通人对吧,而你都在想学wpf了,是否表明好多普通人都会了。当然如果你能达到熟练的地步,比如能自定义控件,熟练地使用mvvm模式,熟练使用动画、wpf 3d啥的,等等,那肯定好找工作。
private DependencyObject FindParentControl<T>(DependencyObject control)
{
DependencyObject parent = VisualTreeHelperGetParent(control);
while (parent != null && !(parent is T))
{
parent = VisualTreeHelperGetParent(parent);
}
return parent;
}
public T GetChildObject<T>(DependencyObject obj, string name) where T : FrameworkElement
{
DependencyObject child = null;
T grandChild = null;
for (int i = 0; i <= VisualTreeHelperGetChildrenCount(obj) - 1; i++)
{
child = VisualTreeHelperGetChild(obj, i);
if (child is T && (((T)child)Name == name | stringIsNullOrEmpty(name)))
{
return (T)child;
}
else
{
grandChild = GetChildObject<T>(child, name);
if (grandChild != null)
return grandChild;
}
}
return null;
}
this maybe help you
找grid用GetChildObject这个方法,parentControl是这个模板应用的目标控件
Grid grid = GetChildObject<Grid>(parentControl, "PART_Connector
");
注意判断是否返回null
上面的checkbox也要放进一个集合里面,查询接口定义为
ilist<string> search(ilist<string> extensions)
以上就是关于在wpf中怎么获取datagrid某行某列的值啊急!跪求!全部的内容,包括:在wpf中怎么获取datagrid某行某列的值啊急!跪求!、求助,WPF中如何获取<DataTemplate>中的控件、wpf中listview如何通过双击方式获取某一行的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)