[英]C# WPF Navigation
我正在編寫WPF應用程序。 在C#中。 我得到一個MainWindow.xaml
,其中包含一個稱為MainFrame的空框架。 我還有另外四個頁面,分別稱為Welcome.xaml
, Login.xaml
, ObjectSelection.xaml
和Exec.xaml
。 要通過MainWindow
上的導航按鈕在MainWindow
瀏覽頁面,我可以簡單地做到這一點並在我的按鈕上調用它:
private void PageNav1(object sender, RoutedEventArgs e)
{
MainFrame.Content = new Welcome();
}
我在“歡迎頁面”中有一些按鈕需要將您帶到另一個頁面,比方說Login.xaml
。 我的方法是這樣的:
private void SelectionExport(object sender, RoutedEventArgs e)
{
MainWindow.MainFrame.Content = new Login();
}
但是像往常一樣,我得到一個錯誤: CS0120 An object reference is required for the non-static field, method, or property 'MainWindow.MainFrame' INTEGR8
任何想法都將不勝感激。
您需要獲取對MainWindow
類實例的引用,並訪問該類的Frame
:
private void SelectionExport(object sender, RoutedEventArgs e)
{
MainWindow mainWindow = Application.Current.Windows.OfType<MainWindow>().FirstOrDefault();
mainWindow.MainFrame.Content = new Login();
}
正如文檔所說
為了使用非靜態字段,方法或屬性,必須首先創建一個對象實例。
例如,
public class MyClass
{
public void MyMethod() { }
public static void MyStaticMethod() { }
}
MyClass.MyStaticMethod(); // Works
MyClass.MyMethod(); // CS0120
// You've got to do it like this
MyClass mc = new MyClass();
mc.MyMethod();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.