1

嗨,我在 Wpf 应用程序方面相对较新

我想知道我可以mainwindow.xaml.cs 在其他类中创建一个对象
然后使用该对象超出用户定义的方法mainwindow.xaml.cs

我正在尝试这样的事情,它创建了主窗口的对象,但无法访问该方法我尝试访问的方法是公共定义的

MainWindow window = new Mainwindow();
window.point_to_screen();

它给出了这个错误

错误 2 类型名称“point_to_screen”在类型“System.Windows.Window”中不存在

4

2 回答 2

5

您应该将当前主窗口转换为 MainWindow 对象。如果您创建一个新窗口,您将无法访问当前打开的窗口

MainWindow wnd = (MainWindow)Application.Current.MainWindow;
wnd.point_to_screen();
于 2017-03-17T14:21:50.640 回答
4

确保您的方法处于public保护级别,并检查您是否使用实例方法(不是static):

public class MainWindow 
{
...
    public void point_to_screen()
    {
       ...
    }
 }

并使用它:

 MainWindow window = new Mainwindow();
 window.point_to_screen();

如果你使用一种static方法,你的代码应该是这样的:

public class MainWindow 
{
...
    public static void point_to_screen()
    {
       ...
    }
 }

并使用它:

 MainWindow.point_to_screen();
于 2012-09-23T06:01:02.133 回答