尝试使按钮单击的方法在 WPF 中使用变量
Trying to make the method of a button click use variable in WPF
我是 WPF 和一般编码的新手,我正在尝试创建一个小的 UI 来在 .txt 文件上读取和写入数据。所有阅读部分功能都运行良好,但现在我无法制作一个小 UI 来显示在 .txt 文件中找到的信息。
我的问题更多在于按钮点击在 WPF 中的工作方式。所有的数据在程序内部都以classStatic_Data_Scheme和Dynamic_Data_Scheme对象的形式存储,这些class只是字典对象的简单集合。我的部分数据是 'static' 意味着它将存储在不会更改位置的 .txt 文件中,因此可以在程序启动时加载,我的另一部分数据是 'Dynamic' 意味着它可以存储在任何地方,并且可以使用程序中的文件资源管理器更改文件路径。需要注意的重要一点是,需要 Static_Data_Scheme 才能生成 Dynamic_Data_Scheme.
当我制作程序来测试它时,我最初处理它的方法是使用称为加载的相同按钮生成两个数据方案,但由于静态字典可以在程序开始时加载,我想尝试将该方法添加到 MainWindow 而不是当我按下加载按钮时让程序生成 Dynamic_Data_Scheme,但是我找不到任何关于如何向 click 方法添加参数的文档按钮。
当前代码有效,但我不喜欢,因为每次按下加载按钮时都会调用 Static_Data_Scheme.Start 方法,而只能在程序启动时加载一次:
public MainWindow()
{
InitializeComponent();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
Static_Data_Scheme static_Data_Scheme = new Static_Data_Scheme();
static_Data_Scheme = static_Data_Scheme.Start();
Dynamic_Data_Scheme dynamic_Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}
我想尝试实现的是这样的:
public MainWindow()
{
InitializeComponent();
Static_Data_Scheme static_Data_Scheme = new Static_Data_Scheme();
static_Data_Scheme = static_Data_Scheme.Start();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
Dynamic_Data_Scheme dynamic_Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}
但这行不通,因为 Save_Parser.Parse_Save 方法缺少 static_Data_Scheme 变量,我也无法将它添加到 Save_Loader_Click 方法中。
所以我的问题是如何告诉我的 ave_Loader_Click 方法从程序中获取 static_Data_Scheme?
您几乎成功了,只需将变量移到您的方法之外:
Static_Data_Scheme static_Data_Scheme = new();
public MainWindow()
{
InitializeComponent();
/* static_Data_Scheme = ???? */static_Data_Scheme.Start();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
var Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}
我是 WPF 和一般编码的新手,我正在尝试创建一个小的 UI 来在 .txt 文件上读取和写入数据。所有阅读部分功能都运行良好,但现在我无法制作一个小 UI 来显示在 .txt 文件中找到的信息。
我的问题更多在于按钮点击在 WPF 中的工作方式。所有的数据在程序内部都以classStatic_Data_Scheme和Dynamic_Data_Scheme对象的形式存储,这些class只是字典对象的简单集合。我的部分数据是 'static' 意味着它将存储在不会更改位置的 .txt 文件中,因此可以在程序启动时加载,我的另一部分数据是 'Dynamic' 意味着它可以存储在任何地方,并且可以使用程序中的文件资源管理器更改文件路径。需要注意的重要一点是,需要 Static_Data_Scheme 才能生成 Dynamic_Data_Scheme.
当我制作程序来测试它时,我最初处理它的方法是使用称为加载的相同按钮生成两个数据方案,但由于静态字典可以在程序开始时加载,我想尝试将该方法添加到 MainWindow 而不是当我按下加载按钮时让程序生成 Dynamic_Data_Scheme,但是我找不到任何关于如何向 click 方法添加参数的文档按钮。
当前代码有效,但我不喜欢,因为每次按下加载按钮时都会调用 Static_Data_Scheme.Start 方法,而只能在程序启动时加载一次:
public MainWindow()
{
InitializeComponent();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
Static_Data_Scheme static_Data_Scheme = new Static_Data_Scheme();
static_Data_Scheme = static_Data_Scheme.Start();
Dynamic_Data_Scheme dynamic_Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}
我想尝试实现的是这样的:
public MainWindow()
{
InitializeComponent();
Static_Data_Scheme static_Data_Scheme = new Static_Data_Scheme();
static_Data_Scheme = static_Data_Scheme.Start();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
Dynamic_Data_Scheme dynamic_Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}
但这行不通,因为 Save_Parser.Parse_Save 方法缺少 static_Data_Scheme 变量,我也无法将它添加到 Save_Loader_Click 方法中。
所以我的问题是如何告诉我的 ave_Loader_Click 方法从程序中获取 static_Data_Scheme?
您几乎成功了,只需将变量移到您的方法之外:
Static_Data_Scheme static_Data_Scheme = new();
public MainWindow()
{
InitializeComponent();
/* static_Data_Scheme = ???? */static_Data_Scheme.Start();
}
private void Save_Loader_Click(object sender, RoutedEventArgs e)
{
var Data_Scheme = new Dynamic_Data_Scheme();
Save_Parser.Parse_Save(@"file_path", static_Data_Scheme, ref dynamic_Data_Scheme);
}