У меня есть следующий элемент управления
<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
в этом случае ? Если нет, то почему? Если это какие предостережения?