我正在编写Windows 8应用程序。在其中,我有一个带有距离/半径的组合框。即1英里,2英里,5英里等。
但是,我希望距离单位根据用户偏好在公里和英里之间变化。
在PreferencesViewModel上我可以有一个简单的枚举属性来定义距离单位。
在Main ViewModel上,我可以有一个包含半径范围的ObservableCollection。 因此,当Main ViewModel初始化时我可以用半径填充它并在XAML视图中,我可以有一个ValueConverter,它只是将距离单位从首选项与当前项目的组合转换为“1英里”,“3公里” “等等。
但是,用户可以随时和同时调出控制首选项的UI。能够在用户更改首选项的同时刷新此ComboBox会很棒。
所以我正在寻找一种创建依赖的observable的方法。在KnockoutJs中,我只想创建一个计算的observable,它实际上同时监视ObservableCollection和用户首选项选择。
使用C#执行此操作的最佳方法是什么?