我有一个在他的代码隐藏文件中UserControl
有一个。此控件用作( ) 的一部分。ObservableCollection
DP
TabControl
TabItem
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 ObservableCollection
s 之间的绑定有问题。任何想法?