Xaml 在Windows 8中,人们使用什么代替IMultiValueConverters?
我正在将现有的WPF应用程序移植到Windows8应用程序 在WPF应用程序中,我们大量使用多值转换器来创建UI元素属性和viewmodel属性(hippo对象的权重和itemscontrol的实际宽度)的组合值,以实现良好的UI效果 然而,Windows8没有多值转换器 因为我正在移植一个应用程序,所以我真的不想对我的viewmodels或Xaml进行重大更改Xaml 在Windows 8中,人们使用什么代替IMultiValueConverters?,xaml,mvvm,windows-8,Xaml,Mvvm,Windows 8,我正在将现有的WPF应用程序移植到Windows8应用程序 在WPF应用程序中,我们大量使用多值转换器来创建UI元素属性和viewmodel属性(hippo对象的权重和itemscontrol的实际宽度)的组合值,以实现良好的UI效果 然而,Windows8没有多值转换器 因为我正在移植一个应用程序,所以我真的不想对我的viewmodels或Xaml进行重大更改 我怎样才能用最少的痛苦和重写来复制多值控制器功能?我的方法是公开VM的静态单例实例;例如: public class MainView
我怎样才能用最少的痛苦和重写来复制多值控制器功能?我的方法是公开VM的静态单例实例;例如:
public class MainViewModel : INotifyPropertyChanged
{
private static MainViewModel _mvm;
public static MainViewModel MVM
{
get
{
if (_mvm == null)
_mvm = new MainViewModel();
return _mvm;
}
}
然后简单地将整个VM传递给:
<Button Command="{Binding MyCommand}" CommandParameter="{Binding MVM}">Run Command</Button>
Run命令
它不是多重绑定,但允许您传递多个参数。
我正在将现有的WPF应用程序移植到Windows 8应用程序。
-我真的为您感到抱歉。到目前为止,WinRT XAML特性集甚至不如Silverlight特性集。这意味着它只是完整WPF功能集的一小部分。这意味着你将不得不求助于各种可怕的黑客来让它正常工作。WinRT是新的CompactFramework,它拥有除……之外的所有功能。所有功能我都使用脏话来代替。他们中的很多人:-作为一种解决方法,你可以考虑使用这个回答中所描述的方法——“七重奏”,看起来很有用,谢谢。如果我回到WinRT land,我会尝试一下。问题不在于如何将viewmodel传递给转换器。它将viewmodel和view属性传递给转换器。(哦,而且您似乎根本没有使用转换器,这让人困惑,因为问题是关于转换器的)。答案是WinRT不支持它。我只是觉得我应该提供另一种方法。