我已經附加屬性無法從綁定的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,它們是原始類型?)?