我在互联网上搜索寻呼用户控制代码,但找不到满足以下条件的人:
注意:我在一个服务调用中获取了所有行,并将集合存储在父视图模型中(比如说 ObservableCollection objMyList)。
PagingControlVM 中的所有分页逻辑不在 xaml.cs 文件中
分页控件和父控件之间没有紧密耦合,就像我只是将页面控件放在父页面中并在 PagingControl.xaml.cs 文件中仅创建一个依赖属性(比如说 MyDepProp)。
当 PagingControl 放入 ParentControl 时,我使用此依赖属性与 ObservableCollection objMyList 绑定 (到目前为止我成功了,但是如何获取 PagingControlVM 中依赖属性的值。我想获取 PagingControlVM 中新集合中 MyDepProp 的值)。
如果我做错了,请告诉我好的方法。
感谢您的帮助
首先,这里不需要
PagingControlVM
。 您需要的是拥有一个从 class
(例如 CollectionView
)继承的自己的 PagingCollectionView
,所有分页逻辑都应该在那里。 然后,您必须在父视图模型中创建 PagingCollectionView
的实例作为 objMyList
,该实例可以传递给 UserControl
的 ItemsSource
。
更多信息:自己的 CollectionView 用于分页、排序和过滤
根据您的评论进行编辑:
如果您想更改列表,我们会通知您更改,因为我们已经实施了
PagingCollectionView
中的 CollectionView
。
private ObservableCollection<string> _objMyList ;
public ObservableCollection<string> objMyList
{
get { return _list; }
set { _list = value; }
}
private PagingCollectionView _pagingsource;
public PagingCollectionView PagingSource
{
get
{
if(_pagingsource == null)
_pagingsource = new PagingCollectionView(List, 5);
return _pagingsource;
}
}
将
PagingSource
绑定到 UI。 您可以随时更改将通知 UI 的 objMyList
。
希望有帮助。