我已经附加属性无法从绑定的DataContext ObjectContext的自定义附加属性
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));
而且我也有视图模型具有被设置为正确的ObjectContext Context属性(与调试检查)。
这XAML代码:
<DataGrid AutoGenerateColumns="False" Name="gridOrders"
local:FilterableGrid.ObjectContext="{Binding Context}" local:FilterableGrid.IsFilterableGrid="True">
如果当地是我的命名空间。
我的用户此代码IsFilterableGrid chaged事件(atached行为)来检索对象上下文:
ObjectContext context = FilterableGrid.GetObjectContext(sourceGrid);
和上下文变量总是最终被空。尽管用于网格的DataContext不为空并指向正确的对象(ViewModel)。
任何想法?我似乎失去了对此的理智...
编辑:我调查了一点,如果我绑定local:FilterableGrid.IsFilterableGrid="{Binding IsFilterable}"
它完美的作品。但local:FilterableGrid.ObjectContext="{Binding Context}"
只是不!也许它与获得传递的值的类型有关(ObjectContext而不是字符串或者说bool,它们是原始类型?)?