将2个可观察的集合彼此绑定

时间:2013-04-11 08:43:48

标签: c# wpf user-controls observablecollection dependency-properties

我的代码隐藏文件中有一个UserControl ObservableCollection作为DP。此控件用作TabControlTabItem)的一部分。

public static readonly DependencyProperty OrderListProperty =
    DependencyProperty.Register("OrderList", typeof(ObservableCollection<Order>), typeof(OrderHistoryControl), new UIPropertyMetadata(new ObservableCollection<Order>()));

public ObservableCollection<Order> OrderList
{
  get { return (ObservableCollection<Order>)GetValue(OrderListProperty); }
  set { SetValue(OrderListProperty, value); }
}

现在我的TabControl ViewModel我有DP的相同类型。

public static readonly DependencyProperty OrdersProperty =
       DependencyProperty.Register("Orders", typeof(ObservableCollection<Order>), typeof(AccountViewModel), new UIPropertyMetadata(new ObservableCollection<Order>()));

public ObservableCollection<Order> Orders
{
  get { return (ObservableCollection<Order>)GetValue(OrdersProperty); }
  set { SetValue(OrdersProperty, value); }
}

XAML的{​​{1}}中,TabControl的{​​{1}}属性绑定到OrderList的{​​{1}}属性。< / p>

UserControl

但是,当我填写OrdersTabControl Viewmodel)时,我的<Grid> <my:OrderHistoryControl x:Name="orderHistoryControl" OrderList="{Binding Orders, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ExpanderOrderDetailsHeader="TEST TEST" /> </Grid> 上的ObservableCollection Orders未更新。 TabControl ViewModel甚至没有被解雇。

我的usercontrol上还有其他一些控件,当我通过ObservableCollection OrderList更改文本字段时效果很好。所以我知道2 UserControl之间的绑定有问题。有什么想法吗?

0 个答案:

没有答案