2013-04-30 32 views
0

我想知道什麼是最佳實踐(或其他人如何解決此問題)在這種情況下。MvvmCross(v3):在多平臺應用程序中(嘗試)使用行爲和故事板是否有錯?

我正試圖用MvvmCross創建一個簡單的遊戲,希望能夠在不同的平臺上運行。其實我只有以前的Windows Phone開發經驗,現在我通過嘗試使用WinRT應用程序(下一步... Android!)「進一步」。

即使是一個簡單的遊戲,我需要在這裏和那裏創建一些動畫,使事情更有趣/更流暢。

在WP7上,我用於創建Storyboard(使用Blend)並使用Behaviors來觸發動畫以響應值更改,正確答案等等,所有這些都避免了代碼隱藏技巧。 我簡單地以爲我可以輕鬆地在其他平臺上做同樣的事情,不過我認爲我必須重新考慮很多細節=> (今天我已經瞭解到WinRT不支持行爲和eventTriggers)

爲了完整,我會寫的有問題的情況下兩個例子:

1)我有一個隱藏的(transparents)的一些元素,我希望他們能夠顯示用戶點擊後纔會一個按鈕。 (所以「流量」將類似於:查看 - >虛擬機 - > PropertyChanged - >觸發器(?))

2)我需要啓動一個不同的動畫基於方法的執行結果將檢查用戶的答案,所以我會有一個「贏家」或「失敗者」動畫)。

所以我的問題是:

1)我該如何解決的WinRT應用那些問題?有最佳做法嗎?我期待着這個項目(http://winrtbehaviors.codeplex.com/),但我不知道它是否適合MvvmCross。

2)我能否輕鬆入眠知道我會找到一種(希望是簡單的)方法來重現Android和iOS上的類似行爲(和動畫)?

我希望我已經成功解釋了我自己。 感謝大家=)

回答

3

我不知道它是否會符合MvvmCross。

對於每個單一平臺,顯示動畫的挑戰以及將事件掛接到ViewModel屬性和命令的挑戰都是特定於平臺的問題。

這些事情都是特定於View的問題,因此您應該能夠在每個View層(在各個UI項目中)解決它們。

如何解決WinRT應用程序中的這些問題?有最佳做法嗎?

對於WinRT中至少有一人使用的行爲從的NuGet - http://slodge.blogspot.co.uk/2013/02/behaviors-for-windows-8-winrt-store.html

重現Android和iOS類似的行爲?

以我的經驗,結合Android和iOS UI事件比掛鉤到XAML讓人更容易 - 一般不需要EventToCommand類型的適配器,因爲MVX結合可以用活動會直接工作。

(與動畫)

動畫下降到每個平臺/ UI。 Android和iOS都已經建立了動畫製作的方法。

iOS的動畫是特別容易的事情,尤其是美麗的 - 你會需要一些C#代碼要做到這些,但該代碼將比XAML短得多。


所有這些問題,我建議你推,並嘗試......你應該能夠實現它們不改變您的共享的核心 - 你應該能夠戰勝挑戰一次在一個平臺上。

祝你好運,你的簡單/困難的睡眠問題。

+0

我真的真的很想再次感謝你。我會盡力解決這些問題,一旦成功,我會嘗試將它們發佈到某處(實際上,我沒有博客=>)。而且,感謝N + 1的視頻系列,我剛剛看過n = 5 =) – Gnegno 2013-04-30 14:27:09

相關問題