2015-05-11 82 views
1

我很新wpf,現在,我正在使用ModernUI版本1.0.6 我正在尋找一種方法來清除modernwindow的導航歷史記錄。 或者從現代窗口中刪除導航按鈕的方式也將不勝感激。清除導航堆棧mui wpf

預先感謝您的幫助:d

回答

1

你可以嘗試讀取MUI的源代碼,你會發現SMOE辦法清除。 首先,你可以嘗試反映ModernFrame類來獲得history場,然後你可以調用Clear(),你想要的,這樣的代碼:

var frame = view.FindChild<ModernFrame>("ContentFrame"); 
var field = typeof(ModernFrame).GetField("history", BindingFlags.NonPublic | BindingFlags.Instance); 
var history = (Stack<Uri>)field.GetValue(frame); 

history.Clear(); 

其次,你可以在ModernFrame類發現的DependencyProperty KeepContentAlive,該酒店有propertyChangedCallback,所以導航歷史將會清除,如果它的值改變了。要做到這一點,你需要重寫ModernWindow的風格,並從vm中綁定KeepContentAlive的屬性。