前几天,我开始了WPF的基础学习,一上来我就遇到了一个令我头痛的问题,按照书上的例子我写了一段属于自己的代码,一个简单的色调器。满心期待的编译运行,就出现了未将对象引用设置到对象的实例。我在网上查阅了一下资料。

一、一般的错误是
1.ViewState对象为空(NULL)。
2.DateSet为空。
3.Sql语句或者Database的原因导致DataReader为空。
4.声明字符串变量时未赋空值就应用变量。
5.未用new初始化对象。
6.Session对象为空。
7.对空间赋文本值时,之不存在。
8.使用Request.QueryString()时,所获取的对象不存在或者在值为空的时候未赋予初始值。
二、在WPF中出现诸如此类的问题
WPF类似于HTML一样是从上到下执行。
如下代码:

 <Grid>

             <Rectangle Fill="#ff6600"  Height="" HorizontalAlignment="Left" Margin="278,12,0,0" Name="RectangleShow" Stroke="Black" VerticalAlignment="Top" Width="" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="278,120,0,0" Name="txtColor" Text="Color" VerticalAlignment="Top" />
<TextBox Height="" HorizontalAlignment="Left" Margin="278,149,0,0" Name="HexColor" VerticalAlignment="Top" Width="" Text="#FF6600" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="12,12,0,0" Name="txtAlph" Text="AlphColor" VerticalAlignment="Top" />
<Slider Height="" HorizontalAlignment="Left" Maximum="" Value="" Margin="12,41,0,0" Name="AlphColor" VerticalAlignment="Top" Width="" ValueChanged="SilderButton_Click"/>
<TextBlock Height="" HorizontalAlignment="Left" Margin="15,70,0,0" Name="txtRed" Text="Red" VerticalAlignment="Top" />
<Slider Height="" HorizontalAlignment="Left" Maximum="" Value="" Margin="12,99,0,0" Name="RedColor" VerticalAlignment="Top" Width="" ValueChanged="SilderButton_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="15,136,0,0" Name="txtGreen" Text="Green" VerticalAlignment="Top" />
<Slider Height="" HorizontalAlignment="Left" Margin="12,165,0,0" Name="GreenColor" VerticalAlignment="Top" Width="" Maximum="" Value="" ValueChanged="SilderButton_Click" />
<TextBlock Height="" HorizontalAlignment="Left" Margin="12,204,0,0" Name="txtBlue" Text="Blue" VerticalAlignment="Top" />
<Slider Height="" HorizontalAlignment="Left" Margin="12,233,0,0" Name="BlueColor" VerticalAlignment="Top" Width="" Maximum="" Value="" ValueChanged="SilderButton_Click"/> </Grid>

当将第一个空间初始化完毕后,就会执行其中的SilderButton_Click()方法,我们几乎的Silder空间都使用了这个方法,而且这个方法中包含了其他的控件,这样导致的后果就在于,编译器很温馨提示你:XX行“未将对象引用设置到对象的实例”。
在我编译我的程序时候出现了如下错误:

当出现这种情况的时候,我先检查了一下自己写的代码是否有问题,当发现并未有什么问题的时候,我又设置断点进行调试,发现其中的AlphColor有值,其他的控件都为NULL,我就猜想为什么出现这种情况呢,上网查阅了相关的资料,发现原来XAML是逐行执行编译,当遇到控件有方法的时候,就会检查其中的方法。本程序在编译的时候就是在AlphColor控件进行编译的时候,其他的控件都还没有初始化,所以出现了这种未将对象引用到对象的实例。那么我们如何修改呢?
我发现窗体有一个方法Loaded,这就是在窗体加载完成后执行的方法,那么我就通过添加事件的方式,对其进行添加。

  private void Window_Loaded(object sender, RoutedEventArgs e)
{
AlphColor.ValueChanged += SilderButton_Click;
RedColor.ValueChanged += SilderButton_Click;
GreenColor.ValueChanged += SilderButton_Click;
BlueColor.ValueChanged += SilderButton_Click;
}

在进行编译运行,执行成功!
这是我在学习WPF的时候遇到的第一个问题,有可能大家没有遇到这种情况,有可能大家遇到这种情况轻易而举将其解决了,没有解决相似问题的,希望能对你有所帮助。如果我其中的内容那里有错,请大家提醒一下,谢谢!

最新文章

  1. Redis必须注意的慢查询问题
  2. wampserver安装之后连接phpMyAdmin 不成功的解决方法
  3. 【UVa】11270 Tiling Dominoes
  4. Python基础教程【读书笔记】 - 2016/7/31
  5. C#AutoResetEvent和ManualResetEvent的区别
  6. apache2 添加perl支持
  7. java新手笔记23 异常
  8. Ubuntu上安装jdk,Jboss
  9. curl 要么 file_get_contents 获得授权页面的方法的必要性
  10. AspNet.WebAPI.OData.ODataPQ实现WebAPI的分页查询服务-(个人拙笔)
  11. CynosDB技术详解——架构设计
  12. Jetson TX2(1)ubutu1604--安装Nvidia Linux驱动
  13. C#轻量级配置文件组件EasyJsonConfig
  14. windows apache &quot;The requested operation has failed&quot; 启动失败
  15. python中split()、os.path.split()函数用法
  16. mount过程分析之六——挂载关系(图解)【转】
  17. Java集合&amp;Spring源码浅读
  18. 侏罗纪世界2百度云在线观看迅雷下载高清BT下载
  19. [Luogu4921]情侣?给我烧了![错位排列]
  20. 个人知识管理系统Version1.0开发记录(10)

热门文章

  1. js 判断IE浏览器,包含IE6/7/8/9
  2. 设置java web工程中默认访问首页的几种方式
  3. 如何更方便地调试javascript代码
  4. vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
  5. 学习docker
  6. (转)redis 3.0的集群部署
  7. Bootstrap &lt;基础二十一&gt;徽章(Badges)
  8. Bootstrap &lt;基础七&gt;按钮
  9. 转-Apache的Order Allow,Deny 详解
  10. JavaScript 跨域小总结