Я пытаюсь отправить дополнительные переменные в обработчик событий WPF.
Я попытался с помощью делегата отправить его другой функции, которая содержит переменную, которая мне нужна, и она работает. Тем не менее, он создает копию переменной, и я не могу изменить значение в главном классе из функции делегата. Затем я подумал о перемещении функции в класс и сохранении всех переменных в классе, чтобы они могли получить и установить. Однако, поскольку он является классом и не наследует основной класс, объекты 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 (); это ломает.
Я знаю, что этот код - огромный беспорядок, и это не тот способ, которым это нужно делать, но я не нашел нигде работающего решения для отправки и изменения переменной в обработчике событий WPF. Если есть другое решение, отличное от этого удаленного метода, тогда приветствуется, если то, что я спрашиваю, невозможно, просто скажите.
Спасибо (извините за этот многословный вопрос)