0

我有一个在他的代码隐藏文件中UserControl有一个。此控件用作( ) 的一部分。ObservableCollectionDPTabControlTabItem

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); }
}

XAMLTabControlOrderList属性UserControl绑定到 的Orders属性TabControl Viewmodel

<Grid>
    <my:OrderHistoryControl x:Name="orderHistoryControl"
                              OrderList="{Binding Orders, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                              ExpanderOrderDetailsHeader="TEST TEST" />
</Grid>

但是,当我填写ObservableCollection Orders(in TabControl ViewModel)时ObservableCollection OrderList,我UserControl的并没有更新。PropertyChangedCallback甚至没有被解雇。

我的用户控件上有一些其他控件,当我通过它更改他们的文本字段时TabControl ViewModel效果很好。所以我知道 2 ObservableCollections 之间的绑定有问题。任何想法?

4

0 回答 0