Вызвать метод UserControl из главного окна

574
28 ноября 2016, 18:42

В главном окне есть кнопка, при нажатии на которую должен вызваться метод , который есть в UserControl

public void ShopControl_Loaded(object sender, RoutedEventArgs e)
    {
        _launcher.Initialize();
    }

Код контрола в MainWindow.xaml

<controls:ShopControl x:Name="ShopTab"
                      Margin="-4,60,0,4"
                      Foreground="#FFFFFFFF"
                      Visibility="Hidden" />

Код кнопки главного окна

private void shopBtn_Click(object sender, RoutedEventArgs e)
    {
        ShopTab.Visibility = Visibility.Visible;
    }

Подскажите, как я могу это сделать?

Answer 1

Ну, если совсем по-простому, то так:

  1. У кнопки указываете Click="OnButtonClick"
  2. В окне у UserControl'а устанавливаете имя через Name:

    <local:MyUserControl Name="XYZ">...</local:MyUserControl>
    
  3. Создаёте метод OnButtonClick(object sender, RoutedEventArgs e), в нём вызовите XYZ.Method(). Позаботьтесь о том, чтобы метод был публичным.

Да, если метод называется у вас Control_Loaded, что-то тут не так.

READ ALSO
ViewPager узнать смещение страницы

ViewPager узнать смещение страницы

Есть ViewPager, каким методом можно узнать отклонение от центра страницы? То есть если страница неподвижно стоит в центре, то отклонение 0Если...

595
Как принять файл через REST по средствам Spring

Как принять файл через REST по средствам Spring

Как принять файл через REST посредством Spring?

572
Проиграть звук из памяти при помощи JNI

Проиграть звук из памяти при помощи JNI

Я делаю игру на JavaИ конечно, в игре должны быть звуки

494
Ошибка при работе с библиотекой phonenumbers

Ошибка при работе с библиотекой phonenumbers

В проекте довольно давно используется гугловая библиотека comgooglecode

588