2014-01-10 98 views
0

我更新了一箇舊的android項目從mvvmcross v2到mvvmcross v3。可見性ValueConverter更新邏輯MvvmCross v3

現在還有一個問題。

可見性不起作用,它什麼都不做。

老辦法這個樣子(工作得很好):

在Setup.cs

protected override IEnumerable<Type> ValueConverterHolders 
{ 
    get { return new[] { typeof(Converters) }; } 
} 

Converters.cs

using Cirrious.MvvmCross.Converters.Visibility; 

namespace Test.Droid 
{ 
    public class Converters 
    { 
     public readonly MvxVisibilityConverter Visibility = new MvxVisibilityConverter(); 
    } 
} 

任何.axml(LinearLayout中的變化可見性) :

<LinearLayout style="@style/LinearLayoutSmall" local:MvxBind="{'Visibility':{'Path':'TestIsVisible','Converter':'Visibility'}}"> 



溶液(不工作):

在Setup.cs

protected override List<Type> ValueConverterHolders 
{ 
    get { return new List<Type> { typeof(Converters) }; } 
} 

Converters.cs

using Cirrious.MvvmCross.Plugins.Visibility; 

namespace Test.Droid 
{ 
    public class Converters 
    { 
     public readonly MvxVisibilityValueConverter Visibility = new MvxVisibilityValueConverter(); 
    } 
} 

任何.axml

<LinearLayout style="@style/LinearLayoutSmall" local:MvxBind="Visibility TestIsVisible, Converter=Visibility"> 

swissbinding語法可能有問題,或者我使用了錯誤的類? 任何幫助表示讚賞!

UPDATE

我忘了這幾行:

public override void LoadPlugins(IMvxPluginManager pluginManager) 
{ 
    pluginManager.EnsurePluginLoaded<PluginLoader>(); 
    pluginManager.EnsurePluginLoaded<Cirrious.MvvmCross.Plugins.Visibility.PluginLoader>(); 
    base.LoadPlugins(pluginManager); 
} 

我猜它必要的,但現在我有以下錯誤: enter image description here

(從MvxPluginManager類).. 。 我檢查了所有引用,並在我的主項目和其他地方引用了dll/project * .Visibility.Droid.dll ...

回答

1

沒有運行和調試你的代碼的完整示例我看不出有什麼問題。一種猜測是,它可能在插件設置的可見性,但這只是一個猜測。您的應用程序的調試跟蹤可能會揭示這方面的一些信息。

或者,簡單地嘗試設置一個新項目並獲得可視性,然後將該代碼與現有應用程序進行比較可能會更容易。


v3中的值轉換器記錄在https://github.com/MvvmCross/MvvmCross/wiki/Value-Converters中。

引用它們的優選方式是簡單地讓MvvmCross通過反射找到他們 - 見A示例應用程序上https://github.com/MvvmCross/MvvmCross/wiki/Value-Converters#referencing-value-converters-in-touch-and-droid

的部分,包括可視性,是在:https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/ValueConversion - 例如https://github.com/MvvmCross/MvvmCross-Tutorials/blob/master/ValueConversion/ValueConversion.UI.Droid/Resources/Layout/View_Visibility.axml

+0

謝謝我看了一下鏈接,我也更新了我的問題 – eMi

+0

好的我修復了這個問題! – eMi