![](/img/trans.png)
[英]Two IMultiValueConverters with identical code, but different names - only one works
[英]What are people using instead of IMultiValueConverters in Windows 8?
我正在將現有的WPF應用程序移植到Windows 8應用程序。
在WPF應用程序中,我們大量使用MultiValue轉換器,以允許我們創建值,這些值是UI元素屬性和viewmodel屬性(hippo對象的權重和itemscontrol的actualWidth)的組合,以實現良好的UI效果。
但是,Windows 8沒有MultiValue轉換器。
由於我正在移植一個應用程序,我真的不想顯着改變我的viewmodels或Xaml。
如何以最小的痛苦和重寫來復制多值控制器功能?
我的方法是公開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>
它不是多重綁定,但它允許您傳遞多個參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.