У меня есть WPF окно под название WorkSpace в котором есть
<TextBlock x:Name="TBAlert" .../>
И есть некий класс А в котором я пытаюсь обратиться к этому текстбокс
public static async Task DoAlert(string line)
{
WorkSpace.TBAlert.Visibility = Visibility.Visible;
WorkSpace.TBAlert.Text = line;
await Task.Delay(2000);
WorkSpace.TBAlert.Visibility = Visibility.Hidden;
}
Выдает ошибку, что для не статичного элемента требуется ссылка на объект.
П.С. Я только учусь, звучит как что то базовое) я пытался гуглить не че не нашел_) подскажите хотя бы как загуглить, если слишком базовый вопрос)
Весь Класс с этим методом, выглядит примерно так.
public static void Initialize()
{
WorkSpace.BaseCreateEvent += BaseCreate;
}
}
static public void BaseCreate(string worker)
{
string line = "Создание базы данных";
DoLog(worker, line);
}
static public async void DoLog(string worker, string whatHappens)
{
string line = DateTime.Now.ToString();
line += " " + worker + " " + whatHappens;
using (StreamWriter sw = new StreamWriter("log.txt", true))
{
sw.WriteLine(line);
}
await DoAlert(line);
}
public static async Task DoAlert(string line)
{
WorkSpace.TBAlert.Visibility = Visibility.Visible;
WorkSpace.TBAlert.Text = line;
await Task.Delay(2000);
WorkSpace.TBAlert.Visibility = Visibility.Hidden;
}
= Visibility.Visible;должны быть в XAML, а в C# должны быть лишь данные. – EvgeniyZ Aug 11 '22 at 14:18x:Nameи потом обращение в коде по имени к контролу, если вы это делаете - значит у вас проблемы. – EvgeniyZ Aug 11 '22 at 15:12