Отправитель события двойного щелчка WPF имеет «правильную» информацию, а MouseButtonEventArgs.OriginalSource - нет. - PullRequest
0 голосов
/ 27 марта 2020

У меня есть следующий элемент управления

<TextBox Grid.Row="0" Grid.Column="2" Text="{Binding MyValue}" custom:Commands.TextBoxPasteCommand="{Binding MyFunc}" Margin="3,0,0,0" MouseDoubleClick="OnMouseDoubleClick" />

И код-это:

private void OnMouseDoubleClick( object sender, MouseButtonEventArgs e )
{
    var sen = sender;
    var textBox = e.OriginalSource as TextBox;
    if( textBox != null )
        //do something with textBox
}

Дело в том, e.OriginalSource это System.Windows.Controls.TextBoxView

в то время как sender is sender = System.Windows.Controls.TextBox.

Я видел, что большинство примеров использует e.OriginalSource, но функция, которую я хочу вызвать, принадлежит System.Windows.Controls.TextBox.

Это нормально для использования sender в этом случае ? Если нет, то почему? Если это какие предостережения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...