Dir*_*dly 10 data-binding wpf observablecollection
我正在创建一个应用程序,其中应该拦截和翻译对象列表,然后才能在一组控件上显示.为此,我创建了一个ObservableCollection类型的DependencyProperty(BackupEntry是一个定义数据库信息的自定义类).我想要发生的是控件将绑定到MVVM中的ObservableCollection.此集合可用于初始加载控件.然后,当通过控制接口添加一个条目时,它应该被添加到内部的ObservableCollection中,该内部ObservableCollection被定义为DependencyProperty并且由于它们被绑定而显示在MVVM的集合中.这是我正在使用的代码:
protected ObservableCollection<BackupEntry> _BackupItems = new ObservableCollection<BackupEntry>();
public static readonly DependencyProperty BackupItemsProperty = DependencyProperty.Register("BackupItems", typeof(ObservableCollection<BackupEntry>), typeof(ExplorerWindow));
public ObservableCollection<BackupEntry> BackupItems
{
get { return (ObservableCollection<BackupEntry>)GetValue(BackupItemsProperty); }
set { SetValue(BackupItemsProperty, value); }
}
public ExplorerWindow()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(ExplorerWindow), new FrameworkPropertyMetadata(typeof(ExplorerWindow)));
SetValue(BackupItemsProperty, _BackupItems);
_BackupItems.CollectionChanged += new NotifyCollectionChangedEventHandler(BackupItems_CollectionChanged);
}
void BackupItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
在测试应用程序中:
<my:ExplorerWindow Name="ew" HorizontalAlignment="Left" VerticalAlignment="Top" Width="503" Height="223" BackupItems="{Binding BackupListItems}" />
Run Code Online (Sandbox Code Playgroud)
我在测试应用中在屏幕上创建了一个按钮.单击它时,会将一个项添加到BackupListItems.永远不会调用BackupItems_CollectionChanged,并且我的控件中的新集合不会显示在我的集合中.我完全偏离了这里吗?为了让这个工作,我需要做什么?
| 归档时间: |
|
| 查看次数: |
15157 次 |
| 最近记录: |