C#为什么在施法后为null
发布时间:2020-12-15 20:50:11 所属栏目:百科 来源:网络整理
导读:大家好请求帮助我,我很困惑为什么我的代码在转换后为空 这是我的xaml代码 Window.Resources Style x:Key="Menu" TargetType="{x:Type Border}" Setter Property="BorderThickness" Value="0" / Setter Property="Background" Value="Transparent" / Setter P
大家好请求帮助我,我很困惑为什么我的代码在转换后为空
这是我的xaml代码 <Window.Resources> <Style x:Key="Menu" TargetType="{x:Type Border}"> <Setter Property="BorderThickness" Value="0" /> <Setter Property="Background" Value="Transparent" /> <Setter Property="Width" Value="25" /> <EventSetter Event="MouseLeftButtonUp" Handler="Menu_MouseLeftButtonUp" /> </Style> </Window.Resources> <Grid> <Border Name="BorderCloseWindow" CornerRadius="0,8,0" Style="{StaticResource Menu}"> <Image Source="pack://application:,/images/icons/CloseSTD.png" /> </Border> </Grid> 而这是处理边界的C# private void Menu_MouseLeftButtonUp(object sender,RoutedEventArgs e) { Border b = e.Source as Border; if (b.Name == "BorderCloseWindow") { this.Close(); } } 如果我在边框中按下鼠标按钮会产生这样的错误 if(b.Name == "BorderCloseWindow") 请帮帮我为什么给null?以及如何修复我的程序,以便运行. 解决方法
看来e.Source不是Border,因此e.Source as Border为null.
源可能是边框内的另一个对象,事件路由到边框. 您可以尝试使用测试e.Source的类型 if (e.Source is Border) { } 或者您可以通过转发发件人而不是e.Source来获取您的边框对象. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sqlite3数据库的使用
- 在VS2008中使用正则表达式进行查找和替换
- C++开发新版本vs使用旧版本vs编译的静态库动态库
- Postgresql中新建表的时候,如何使用主键使用序列(sequenc
- c – Eclipse CDT无法在Mac上使用gdb进行调试
- database – PGError:ERROR:permission denied for relat
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命
- python – 在Mac 10.9.1上由sudo pip install pil出错
- c#asp.net repeater – 根据条件创建按钮
- c – OpenCV图像转换和透视变化