我搜索了互联网寻找用户控制代码,但找不到符合以下条件的人:
注意:我在一个服务调用中获取了所有行,并将该集合存储在父视图模型中(假设 ObservableCollection objMyList )。
PagingControlVM中的所有分页逻辑不在xaml.cs文件中
在分页控件和父控件之间没有紧密结合,就像我只是在父页面中删除pagecontrol并在PagingControl.xaml.cs文件中只创建一个依赖属性(比如MyDepProp)。
当PagingControl在ParentControl中删除时,我使用此依赖项属性与ObservableCollection objMyList绑定 (到目前为止我成功了,但是如何在PagingControlVM中获取依赖属性的值。我想在PagingControlVM的新集合中获取MyDepProp的值。)
如果我做错了,请告诉我好方法。
感谢您的帮助
答案 0 :(得分:0)
首先,这里不需要{
"Sid": "AllowCloudWatchActions",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricStatistics"
],
"Resource": "*"
}
。您需要的是拥有一个PagingControlVM
继承自class
(例如CollectionView
),其中所有的分页逻辑都应该存在。然后,您必须在父视图模型中创建PagingCollectionView
PagingCollectionView
的实例,该实例可以传递给objMyList
UserControl
。
了解更多信息:Own CollectionView for paging, sorting and filtering
根据您的评论进行修改:
如果您想更改列表,我们会在ItemsSource
实施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;
}
}
绑定到UI。您始终可以更改将通知给UI的PagingSource
。
希望有所帮助。