如何在事件处理程序方法中通过引用发送变量?我试过使用委托将它发送到另一个函数,该函数保存我需要的变量并且它有效。但是,它创建了一个变量的副本,而且我无法从委托函数更改主类中的值。然后我想到将函数移动到一个类并将所有变量存储在类中,以便它们可以获取和设置。但是,因为它是一个类并且不继承主类,所以找不到 WPF/XAML 对象。我试过继承主类,但因为我在主类内部创建类,并且它有效地继承了自身,所以它进入了一个无法逃脱的循环。public partial class MainWindow : Window{ public class Program : MainWindow { public string Word { get; set; } public void WhenPressed_1(object sender, RoutedEventArgs e) { lable_1.Content = Word; } } public MainWindow() { InitializeComponent(); Program test = new Program(); Button_1.Click += delegate (object sender, RoutedEventArgs e) { test.WhenPressed_1(sender, e); }; } }它位于 Program test = new Program(); 行 它坏了。
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
您可以将 MainWindow 对象传递给程序类并更改您想要的值
public partial class MainWindow : Window, ICommon
{
public MainWindow()
{
InitializeComponent();
Program test = new Program();
thisButton.Click += delegate(object sender, RoutedEventArgs e) { test.WhenPressed_1(this); };
}
public void SetValueInMain()
{
// Set Main values
}
public class Program
{
public string Word { get; set; }
public void WhenPressed_1(ICommon mainWind)
{
mainWind.SetValueInMain();
}
}
}
public interface ICommon
{
void SetValueInMain();
}
- 1 回答
- 0 关注
- 50 浏览
添加回答
举报
0/150
提交
取消