我有一个在他的代码隐藏文件中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); }
}
在XAML中TabControl的OrderList属性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 之间的绑定有问题。任何想法?