簡體   English   中英

C#WPF導航

[英]C# WPF Navigation

我正在編寫WPF應用程序。 在C#中。 我得到一個MainWindow.xaml ,其中包含一個稱為MainFrame的空框架。 我還有另外四個頁面,分別稱為Welcome.xamlLogin.xamlObjectSelection.xamlExec.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.

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