【发布时间】:2016-12-06 08:19:03
【问题描述】:
我有一个名为GroupedIssueTypeSearchFilter 的ReactiveObject 类:
public class GroupedIssueTypeSearchFilter : ReactiveObject
{
public int CategoryID { get; set; }
public string CategoryTitle { get; set; }
int selectionCode;
public int SelectionCode
{
get { return selectionCode; }
set { this.RaiseAndSetIfChanged(ref selectionCode, value); }
}
public ReactiveList<IssueTypeSearchFilter> IssueTypeFilterList { get; set; }
public GroupedIssueTypeSearchFilter(int catID, string catTitle, List<IssueTypeSearchFilter> issueTypeList)
{
this.CategoryID = catID;
this.CategoryTitle = catTitle;
this.IssueTypeFilterList = new ReactiveList<IssueTypeSearchFilter>(issueTypeList);
}
}
那么在IssueTypeFilterTableViewDelegate类中,它的属性之一是GroupedIssueTypesFilter:
public ReactiveList<GroupedIssueTypeSearchFilter> GroupedIssueTypesFilter { get; set; }
我还有一个ViewController 和它的ViewModel。我使用BindTo 将视图模型属性之一绑定到该类:
IssueTypeFilterTableViewDelegate tvd = new IssueTypeFilterTableViewDelegate();
this.WhenAnyValue(vm => vm.ViewModel.GroupedStandardIssueTypesTV)
.BindTo(this, x => x.tvd.GroupedIssueTypesFilter);
GroupedStandardIssueTypesTV 类型为ReactiveList<GroupedIssueTypeSearchFilter>。
后来,通过ViewModel 内部的一些操作,GroupedStandardIssueTypesTV.IssueTypeFilterList 的值改变了。
但是,GroupedIssueTypesFilter.IssueTypeFilterList 的值没有改变。我需要关闭视图,重新打开它,然后它的值将被更新。
如何让GroupedIssueTypesFilter跟随GroupedStandardIssueTypesTV的变化?
【问题讨论】:
标签: c# binding observablecollection reactive-programming reactiveui