2011-02-23 89 views
0

我剛剛獲得故事板的工作,現在我試圖將所有功能封裝到UserControl中。綁定到從父窗口在UserControl中定義的故事板

我們的目標是在我的窗口上按下一個按鈕,讓它開始在UserControl中定義的故事板(將用戶控件滑入視圖中),然後單擊UserControl內的按鈕時觸發另一個故事板在用戶控件中(將UserControl滑出)。

我發現這個question,這看起來很相似;然而,這裏沒有令人滿意的答案,另外,我願意接受其他解決方案來實現我的目標。

我的假設是,我的用戶控件應該知道如何將自己「滑動」到視圖和視圖之外,這個控件基本上是一個榮耀的輸入對話框,所以它會被告知「自我顯示」它在外部,但只有它知道它何時隱藏自己。

我可以將動畫/故事板定義在控件之外,但如果這是最好的(這似乎是上述問題的共識) - 當OK或OK時,我將如何「滑出」取消按鈕是從控制器內推動的?

窗口執行「滑入」和控制以執行「滑出」感覺很難看,但這就是原始控件存在的地方。

我寧願一個完全的XAML解決方案;但我打開刪除UserControl中的一些代碼。我正在尋找一個強大而簡單的解決方案,因爲一旦我得到這個工作,我有幾個額外的UserControls適合這個模具。

回答

1

可能你應該試試Visual States

+0

看起來和我在找的一模一樣,但在我的場景中找不到任何好用法的例子。 – Nate 2011-02-24 16:50:18

+0

@Nate:在用戶控件的佈局根目錄中創建可視狀態。然後添加定義你的狀態的依賴屬性,例如'IsInInputMode'。當屬性更改爲「true」時 - 進入輸入狀態,另一種情況 - 進入正常狀態。 – 2011-02-24 17:39:57

+0

你有這樣的例子嗎?我一直在追捕,但我沒有找到足夠簡單的東西來讓我走。 – Nate 2011-02-24 18:23:01