C# 如何将WPF GUI(按钮等)连接到类的方法?
我有一些初学者的问题 假设我想创建一个程序,它有一个类C# 如何将WPF GUI(按钮等)连接到类的方法?,c#,wpf,visual-studio,xaml,user-interface,C#,Wpf,Visual Studio,Xaml,User Interface,我有一些初学者的问题 假设我想创建一个程序,它有一个类Ford,里面除了一个名为Color的string类型的属性之外没有其他内容 现在,我想单击位于主窗口中的一个按钮,该按钮将该类的某个实例的属性Color设置为“blue”。还有一个文本框显示当前颜色 我想设置一个类Ford的对象的属性,该对象以前是通过 Ford fordFocus = new Ford(); 我的问题是-只要我写focus,VisualStudio就会立即在focus下添加一条红色的卷线。在我看来,这个物体好像没有被创
Ford
,里面除了一个名为Color
的string
类型的属性之外没有其他内容
现在,我想单击位于主窗口中的一个按钮,该按钮将该类的某个实例的属性Color
设置为“blue”
。还有一个文本框显示当前颜色
我想设置一个类Ford
的对象的属性,该对象以前是通过
Ford fordFocus = new Ford();
我的问题是-只要我写focus
,VisualStudio就会立即在focus
下添加一条红色的卷线。在我看来,这个物体好像没有被创造出来或者看不见,超出了范围,我不知道
换句话说,我知道如何创建一个使用控制台进行输入和输出的程序,但我无法理解如何使用WPF GUI而不是控制台创建或多或少相同的东西。我的福特示例可能不好,如果是这样,请忽略它,并用其他方式解释它
其所有WPF模板VisualStudio 2015,MainWindow.cs:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Ford focus = new Ford();
}
private void button_Click(object sender, RoutedEventArgs e)
{
focus.Color = "Sky blue";
}
}
福特车内有什么:
private string _color;
public string Color
{
get { return _color; }
set { _color = value; }
}
谢谢。问题似乎是,您在
主窗口的构造函数中声明了focus
,但尝试在另一个方法中使用它-这意味着focus
是在另一个范围中定义的
您可以在主窗口中添加一个字段,以便从构造函数和方法中访问该字段
public partial class MainWindow : Window
{
// -- DECLARE focus HERE
private Ford focus;
public MainWindow()
{
InitializeComponent();
// --- focus can be CREATED HERE ---
this.focus = new Ford();
}
private void button_Click(object sender, RoutedEventArgs e)
{
// -- Now you can USE focus HERE --
this.focus.Color = "Sky blue";
}
}
您可以在上找到一些关于作用域的有用信息问题似乎是,您在主窗口的构造函数中声明了focus
,但尝试在另一个方法中使用它-这意味着focus
是在另一个作用域中定义的
您可以在主窗口中添加一个字段,以便从构造函数和方法中访问该字段
public partial class MainWindow : Window
{
// -- DECLARE focus HERE
private Ford focus;
public MainWindow()
{
InitializeComponent();
// --- focus can be CREATED HERE ---
this.focus = new Ford();
}
private void button_Click(object sender, RoutedEventArgs e)
{
// -- Now you can USE focus HERE --
this.focus.Color = "Sky blue";
}
}
您可以在上找到一些关于作用域的有用信息,您需要用代码更新您的问题。我们很难猜出你在哪里被卡住了。我们能看看你的GUI或你做的任何事情吗;来自app.cs,并放置在包含按钮的窗口类的顶部,它将在范围内。我问你迄今为止做了什么的原因是。你的问题刚刚越过我的头,特别是福特Stuff我仍然不明白你在做什么,请你简要解释一下你想要什么。你想要我做什么要从这个()中提取[ScreenShot],你需要用代码更新你的问题。我们很难猜测你在哪里卡住了。我们可以看看你的GUI或你做过的任何事情吗;来自app.cs,并放置在包含按钮的窗口类的顶部,它将在范围内。我问你迄今为止做了什么的原因是。你的问题刚刚越过我的头,特别是福特Stuff我仍然不明白你在做什么,请你简要解释一下你想要什么。你想要我做什么从中提取()[屏幕截图]谢谢!现在可以了。我基本上是C#的初学者,尤其是GUI。如果我想创建一个超出范围并在程序结束时被破坏的对象,我应该在这个地方创建它。是吗?谢谢!现在可以了。我基本上是C#的初学者,尤其是GUI。如果我想创建一个超出范围并被破坏的对象在程序结束时,我应该在这里创建它是吗?