Yog*_*vnn 3 c# wpf event-handling
我的xaml中有一个文本块:
<DataTemplate x:Key="InterfacesDataTemplate"
DataType="ca:Interface">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1" Text="{Binding Path=Name}"
MouseLeftButtonDown="interface_mouseDown"/>
</Grid>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
在后面的代码我有一个事件处理程序单击(双击)
private void interface_mouseDown(object sender, MouseButtonEventArgs e)
{
var tb = sender as TextBox;
if (e.ClickCount == 2)
MessageBox.Show("Yeah interfac " + tb.Text);
}
Run Code Online (Sandbox Code Playgroud)
我得到一个NullReferenceException.
var tb = sender as TextBox
Run Code Online (Sandbox Code Playgroud)
这导致null
因为它实际上是一个TextBlock
.
只需改为
var tb = sender as TextBlock
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7336 次 |
最近记录: |