我的代码隐藏文件中有一个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
的{{1}}中,TabControl
的{{1}}属性绑定到OrderList
的{{1}}属性。< / p>
UserControl
但是,当我填写Orders
(TabControl 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
之间的绑定有问题。有什么想法吗?