簡體   English   中英

如何按需加載XAML內容

[英]How to load XAML content on demand

我手上有一個特定的問題。

我正在構建一個應用程序,在當前版本中,我有一個主要的xaml Grid元素,所有其他“頁面”也只是其可見性為“ Hidden”的Grid元素。

我正在尋找一種優化此方法的方法,並且已經對頁面進行了一些測試,但是由於我對XAML和C#的經驗不足,它們最終並沒有帶來任何好處。

假設我們的<Window>帶有主<Grid>而該網格內是應用程序的主要內容,還有另一個<Grid>帶有設置(如現在)。 當用戶按下“設置”按鈕時如何加載設置網格的內容,並在用戶關閉設置頁面時將其卸載。

我曾經考慮過將其作為頁面加載,但是我不希望用戶從主要內容中導航,而是將設置菜單作為疊加層。

是否存在一種在現有XAML窗口中動態加載另一個XAML文件(帶有設置元素)的解決方案?

謝謝您的幫助!

將按需內容放在UserControl中,然后按需加載UserControl。

UserControl1 ctrl = new UserControl1();            
Grid1.Children.Add(ctrl);

幾個好的鏈接:

代碼項目

CSharpCorner

我不確定自己要完成什么,但是要動態加載xaml,請嘗試XamlReader類:

System.Windows.UIElement el =(System.Windows.UIElement)System.Windows.Markup.XamlReader.Load(xaml);

通常,盡管當我希望隱藏某些東西直到動作發生時,我會將其可見性綁定到視圖模型上的某個屬性上,但是某些動作會設置該屬性的值(並觸發一個propertychangedevent)並顯示內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM