2014-01-18 3 views
0

У меня есть следующие коды, кнопка включения и выключения:Trigger щелчок отправителем в другом методе

private void OnActivity_Click(object sender, RoutedEventArgs e) 
{ 
    if ((sender as Button).Content.Equals("On")) 
    { 
     (sender as Button).Content = "Off"; 
    } 
    else 
    { 
     (sender as Button).Content = "On"; 
    } 
} 

У меня есть еще один метод, названный protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)

Как я могу позвонить отправителю, как кнопка OnActivity_Click в другой метод? Мне нужно вызвать На и Отключено затем еще раз в навигации. Кто-то мне помогает! Благодаря !

ответ

1

Внутри OnNavigatedTo вы можете использовать ссылку кнопку. Например:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
    OnActivity_Click(this.btn1, null); 
} 

Ваша кнопка здесь имеет название "btn1" (установить его в XAML).

+0

Могу ли я узнать, что такое null? У меня был System.Windows.RoutedEventArgs, который был нужен, когда я увидел, что он стал нулем во второй раз, когда я запускаю кнопку – NoobieNeedHelp

+0

. Мне нужно выключить кнопку, затем снова включить. Функция Off работает нормально, но во время второго запуска этого метода e имеет значение null, которое по умолчанию равно {System.Windows.RoutedEventArgs} – NoobieNeedHelp

+0

Если вы не используете аргументы событий, вы можете отправить нуль (который является " 0 "для каждого ссылочного типа). Если вам это нужно, вместо null вы можете отправить новый RoutedEventArgs() и добавить какие данные вам нужны. Аргументы событий относятся к событию и содержат дополнительные данные. Когда вы нажимаете кнопку, у вас есть некоторые данные в EventArgs, переданные фреймворком. В OnNavigatedTo у вас есть другие данные. Что именно вы используете из RoutedEventArgs, что вам нужно? – Cosmin

1

Дайте имя кнопки в XAML как x:name="btn"

, а затем использовать его в OnNavigatedTo способом, как это,

btn.content="On";