如何在事件處理程序方法中通過引用發送變量?我試過使用委托將它發送到另一個函數,該函數保存我需要的變量并且它有效。但是,它創建了一個變量的副本,而且我無法從委托函數更改主類中的值。然后我想到將函數移動到一個類并將所有變量存儲在類中,以便它們可以獲取和設置。但是,因為它是一個類并且不繼承主類,所以找不到 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 關注
- 80 瀏覽
添加回答
舉報
0/150
提交
取消