Получение данных с кнопки в коде wpf
Всем привет. Прошу помощи в моей проблеме. Есть программа, которая при нажатии на кнопку должна открыть файл. В окне 2 кнопки, к примеру Telegram и Discord. Они имеют своё имя и тэг. Мне нужно, чтобы при нажатии на одну из кнопок происходило событие открытия приложения и чтобы кнопка передавала свои данные о себе во ViewModel, где будет проверка, к примеру, названия кнопки на совпадение с переменной пути. Код был такой:
Xaml
<Button Command="{Binding OpenApplicationCommand}" x:Name="Telegram" Tag="Telegram"/>
<Button Command="{Binding OpenApplicationCommand}" Tag="Discord" Name="Discord">
ViewModel
private void OnOpenApplicationCommandExecuted(object p)
{
string[] paths = new string[2];
string Telegram = $@"Путь к файлу\Telegram.exe";
string Discord = $@"Путь к файлу\Discord.exe";
paths[0] = Telegram;
paths[1] = Discord;
string tag = Button.NameProperty.Name;
for (int i = 0, length = paths.Length-1; i <= length; i++)
{
if (tag == paths[i])
{
Process.Start(paths[i]);
break;
}
}
}
Проблема в том, чтобы в переменную tag получить имя или тэг кнопки, которая зайдёт по команде. Уже многое перепробовал и руки опускаются. Сам я в программировании не силён и только начинаю. Возможно взял на себя сильно уж непосильную задачу. Надеюсь смог правильно описать суть. Спасибо за внимание.
Ответы (1 шт):
Как-то так это делается
<Button Command="{Binding OpenApplicationCommand}" CommandParameter="Telegram"/>
private void OnOpenApplicationCommandExecuted(object p)
{
if (p is string parameter)
{
if (parameter == "Telegram")
{
// ...
}
}
}