Member 14584621 Ответов: 1

C# - проблема с доступом к кнопкам


Всем Привет,

нужна помощь в разработке плагинов (C#, visual studio, plugin for Smart Client). В приведенном ниже примере я могу изменить "контент" для bbt:
private void bbt_Click(object sender, RoutedEventArgs e)
    {
      var bbt = sender as Button;
      bbt.Content = "TEST";
    }


bbt.Content = "тест";

но как я могу изменить содержимое для других кнопок, определенных в моем коде? Например, другое имя кнопки - "action1"?

действие 1.Содержание = "тест";

Похоже, мне нужно добавить какой-то префикс перед ссылкой на "action1", потому что в противном случае он не виден и генерирует:

CS0103 The name 'action1' does not exist in the current context

Что я уже пробовал:

private void bbt_Click(object sender, RoutedEventArgs e)

    {

      var bbt = sender as Button;

 

      this.action1.Content = "TEST";

 

    }

Richard MacCutchan

Вы не можете получить доступ к объекту, который не является частью вашего класса.

PureNsanity

Чтобы закрепить то, что сказал Ричард... Вы можете иметь XAML с именованным содержимым, которое не является частью UserControl. Например, если вы назвали содержимое в шаблоне. Если вы получаете эту ошибку компилятора, то очень вероятно, что это так, но чтобы сказать вам конкретно, почему вы должны были бы включить свой XAML.

Member 14584621

Хорошо, но как я могу решить эту проблему? Вот весь код, так что вы, ребята, можете увидеть, как выглядит шаблон, который я использую, где находятся определения кнопок и т. д:

https://shrib.com/#IcinRLal40GYR48ZEpCf

1 Ответов

Рейтинг:
1

Maciej Los

Вы делаете это неправильно.

Основная концепция приложения WPF заключается в использовании перенаправленное событие[^], но реальная сила WPF заключается в использовании код XAML[^] и Шаблон MVVM[^].

Короче говоря: вы должны начать думать о функциональных возможностях приложения, особенно о том, какой элемент управления должен быть привязан к какому свойству модели. И какое событие запускает обновление пользовательского интерфейса.

Пожалуйста, прочтите эти статьи:
Обзор Привязки Данных | Microsoft Docs[^]
Понимание основ шаблона проектирования MVVM – техническое сообщество Microsoft Gulf[^]
Шаблоне MVVM в WPF: простой учебник для новичков[^]
Как реализовать уведомление об изменении свойств | Microsoft Docs[^]
Объясните INotifyPropertyChanged в WPF - MVVM[^]