Jon*_*n B 5 xaml mvvm windows-8
我正在将现有的WPF应用程序移植到Windows 8应用程序.
在WPF应用程序中,我们大量使用MultiValue转换器,以允许我们创建值,这些值是UI元素属性和viewmodel属性(hippo对象的权重和itemscontrol的actualWidth)的组合,以实现良好的UI效果.
但是,Windows 8没有MultiValue转换器.
由于我正在移植一个应用程序,我真的不想显着改变我的viewmodels或Xaml.
如何以最小的痛苦和重写来复制多值控制器功能?
我的方法是公开虚拟机的静态单例实例;例如:
public class MainViewModel : INotifyPropertyChanged
{
private static MainViewModel _mvm;
public static MainViewModel MVM
{
get
{
if (_mvm == null)
_mvm = new MainViewModel();
return _mvm;
}
}
Run Code Online (Sandbox Code Playgroud)
然后简单地传递整个虚拟机:
<Button Command="{Binding MyCommand}" CommandParameter="{Binding MVM}">Run Command</Button>
Run Code Online (Sandbox Code Playgroud)
它不是多重绑定,但它允许您传递多个参数。
| 归档时间: |
|
| 查看次数: |
1144 次 |
| 最近记录: |