2015-10-17 22 views
0

我有2個xaml文件L1.xaml和L2.xaml 首先L1將打開。它有一個按鈕,當按下時打開L2。 但是我想讓L2在與L1相同的窗口中打開。如何在同一個窗口切換到另一個xaml文件?

更確切地說,當按鈕被點擊時,L1應該終止,L2應該在沒有主窗口消失的情況下開始,甚至一秒鐘。

+0

這些xaml文件是什麼?他們是'Windows'嗎? 'Pages'? 'UserControls'? –

+0

他們的窗戶是 –

回答

0

有很多方法可以實現。 1.-你可以創建一個導航頁面,你的L1.xaml和L2.xaml他們需要成爲一個頁面。 這是一篇很好的文章。 http://paulstovell.com/blog/wpf-navigation

2:您可以在新增的MainPage框架控件,這種控制就可以網頁(您再次L1和L2必須是網頁(這是幾乎相同的第一點,但差異你之間導航可以使用其他控件(如UserControl)中的Frame控件

3.您可以使用ContentControl或ContentPresenter作爲容器這些控件具有屬性內容當用戶單擊某個按鈕以顯示L1或L2 xaml(doesn'無論他們是UserControl還是Page),只需創建視圖的新實例,例如: MyContentControl.Content = new MyView1();

顯然這種技術非常簡單,您需要檢查這些選項對於您的需求是否足夠。

最好的問候!

+0

謝謝你的解釋 ,但我不能把它作爲一個頁面....因爲有很多按鍵事件和焦點設置爲窗口。 在UserControl中,idk爲什麼但按鍵事件不起作用。 對於Page, 這是一款遊戲,所以我不想讓後退的瀏覽器窗口向前打開。 –

+0

你應該使用我解釋的第三個選項。在你的窗口中只需放置一個內容控件,如果你想從L1導航到L2並且按鈕位於你可以訪問父項目的L1的內部,你需要改變設置屬性Content的視圖,使用你的usercontrols的一個新實例你的UserControl(它應該是ContentControl),並用新的View:Example來更改屬性Content。 var parent = L1.Parent作爲ContentControl; parent.Content = new myNewView(); – RicardoPons

相關問題