2011-06-29 43 views
1

我剛剛創建了一個使用Caliburn.Micro作爲MVVM框架的WP7項目,但我不確定如何使項目與Expression Blend一起工作的最佳方式或Visual Studio設計師。在WP7中使用Caliburn.Micro和Expression Blend

人們如何使用Calibun.Micro進行設計?我最好忽視這些約定並使用傳統的綁定機制,以便Blend能夠理解這些觀點?有沒有辦法將Caliburn綁定邏輯導入Blend,以便識別約定?

此刻,我的所有視圖都顯示爲空控件,我需要運行應用程序以瞭解所有事物的外觀。我認爲我錯過了一個更好的方法。

+0

我們使用Caliburn.Micro作爲WP7 MVVM應用程序的關鍵框架之一。對於靜態混合設計時間數據,我們使用屬性旁邊的混合數據選項卡創建資源文件,並使用示例數據獲得設計時間以提供良好充足的填充視圖。 – softwaredeveloper

回答

3

**更新:帶約定的設計數據現在內置到CM中。 http://caliburnmicro.codeplex.com/SourceControl/changeset/changes/c5cac07cd755 http://mnajder.blogspot.com/2011/09/design-time-support-for-caliburnmicro.html

我一直在使用ViewModelLocator從MVVM光並延長CM的Screen類添加IsInDesignMode財產。 CM當然忽略了任何約束條件的約定,但對於嘲笑數據的設計者來說,它的體面的交易。

「有沒有辦法將Caliburn綁定邏輯導入Blend,以便識別約定?」

Here是來自CM討論的文章。

不幸的是,你知道全部有 知道。我試圖向Blend團隊解釋這些 方案,以便我們在產品中獲得適當的可擴展性 以使約定 能夠在設計階段工作,但他們只是 很難理解。他們 不跟進的事情,他們是 一個非常「封閉」組內或 微軟。 Silverlight和WPF MVP 不一定有直接訪問 給他們。你必須是一個混合MVP。 那些往往是設計師和 很少有誰瞭解大規模 發展或甚至 公約可以給簡單的 項目的好處。這樣做可能可能是 ,但它需要很多 非常痛苦的工作,並且 可能與Blend的下一個版本 中斷。有關可擴展性 的API有記錄的 不太好。然後,也有 問題,使其在Visual 工作室也是如此。目前,我沒有 有時間或耐心嘗試 拿出一些東西。這是一個偉大的 地方,從社區的貢獻將產生巨大的 差異。我會盡可能地調整Blend團隊的 。但是,我的猜測是他們有其他 的擔憂。

我相信羅布在this聽到代碼插曲中談了一下。

This是不是一個演示旨在顯示這一點,但我使用MVVM光的ViewModelLocator在這一點的代碼來模擬CM應用程序中的一些數據。

+0

偉大的鏈接到討論區,謝謝。不知道我花了整整一天的時間從那個網站搜索Blend信息後錯過了那麼......因此,看起來基本規則並不是使用Caliburn約定來綁定數據,只是針對動作,所有內容都應該相當混合。 –

+0

是的,只是,我在董事會上發佈了一個想法,讓CM強制實現一個約定,這樣可以綁定到設計時間數據,但是隨後CM會忽略該約定,並且應用約定。 –

0

目前我的方法是使用Blend中的類樣本數據功能根據View Model生成設計時數據。

你說得對,這確實意味着我沒有充分利用Caliburn基於約定的綁定。不過,我仍然將它用於我不需要設計時間體驗的元素以及有關Actions的約定。