Почему xbutton.PerformClick () не работает в silverlight? - PullRequest
0 голосов
/ 25 июня 2010

Мне нужен Button.click из другого класса, но он не работает pickButton.PerformClick ()?

[Category("Özel")]
[DefaultValue(null)]
public Button pickButton { get; set; }


protected override void OnKeyUp(KeyEventArgs e)
{
    base.OnKeyUp(e);
    if (e.Key == Key.F10)
    {
        if (pickButton != null)
        {
            //pickButton.PerformClick() ??
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 25 июня 2010

PerformClick недоступно в Silverlight.

Почему бы вам не извлечь код из события pickButton click и вызвать его из обоих мест:

protected override void OnKeyUp(KeyEventArgs e)
{
    base.OnKeyUp(e);
    if (e.Key == Key.F10)
    {
        if (pickButton != null)
        {
            DoStuff();
        }
    }
}

и

private void pickButton_OnClick(object sender, RoutedEventArgs e)
{
    DoStuff();
}

Очевидно, DoStuff() является заполнителем для иллюстрации концепции.

2 голосов
/ 18 июня 2011

Silverlight не поддерживает эту операцию.Вызовите событие клика напрямую, т.е.

pickButton.pickButton_Click(this, null);

или

 button2_Click(this, null);
...