问题描述
||
我已附加财产
public static ObjectContext GetObjectContext(DataGrid obj)
{
return (ObjectContext)obj.GetValue(ObjectContextProperty);
}
public static void SetObjectContext(DataGrid obj,ObjectContext value)
{
obj.SetValue(ObjectContextProperty,value);
}
public static readonly DependencyProperty ObjectContextProperty =
DependencyProperty.RegisterAttached(\"ObjectContext\",typeof(ObjectContext),typeof(FilterableGrid));
而且我还有ViewModel,它的Context属性设置为正确的ObjectContext(已通过调试器检查)。
这个XAML代码:
<DataGrid AutoGenerateColumns=\"False\" Name=\"gridOrders\"
local:FilterableGrid.ObjectContext=\"{Binding Context}\" local:FilterableGrid.IsFilterableGrid=\"True\">
我的命名空间在哪里。
我在IsFilterableGrid chaged事件(分派的行为)中使用此代码来检索对象上下文:
ObjectContext context = FilterableGrid.GetObjectContext(sourceGrid);
并且上下文变量总是以null结尾。尽管DataContext for grid不为null,并且指向正确的对象(ViewModel)。
有任何想法吗?我似乎对此失去了理智。
编辑:我进行了更多调查,如果我绑定local:FilterableGrid.IsFilterableGrid=\"{Binding IsFilterable}\"
,它会很好地工作。但是local:FilterableGrid.ObjectContext=\"{Binding Context}\"
却没有!也许与传递的值类型有关(ObjectContext而不是字符串或说bool,这是原始类型吗?)?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)