WPF中未将对象引用设置到对象的实例
前几天,我开始了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的时候遇到的第一个问题,有可能大家没有遇到这种情况,有可能大家遇到这种情况轻易而举将其解决了,没有解决相似问题的,希望能对你有所帮助。如果我其中的内容那里有错,请大家提醒一下,谢谢!
WPF中未将对象引用设置到对象的实例的更多相关文章
- WPF前台界面显示“未将对象引用设置到对象的实例”
在做即时通信项目中,使用WPF的MVVM模式,如果在前台绑定VM,经常会显示波浪线,鼠标放上去提示未将对象引用设置到对象的实例,但程序能正常运行,后来发现如果前台不绑定VM,在后台cs里绑定就不会出现 ...
- asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
1. 页面载入后,必须要等到page_Load方法执行建立 page对象后才可以使用Session 2. 在.aspx和.cs文件中使用Session的区别 (1).aspx: Session[&qu ...
- 一般处理程序中使用Session出现未将对象引用设置到对象的实例
遇到问题:未将对象引用设置到对象的实例 那就在你的一般处理程序中加入红色背景的代码吧 using System; using System.Collections.Generic; using Sys ...
- ashx文件中使用session提示“未将对象引用设置到对象的实例”
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;u ...
- P/Invoke出现错误 System.NullReferenceException”类型的未经处理的异常在 未知模块。 中发生 未将对象引用设置到对象的实例。
问题 “System.NullReferenceException”类型的未经处理的异常在 未知模块. 中发生 未将对象引用设置到对象的实例. 解决方案 1.尝试 用管理员身份运行CMD,输入nets ...
- C#中打开设计视图时报"未将对象引用设置到对象的实例"
通常情况下,若是你将用户控件写好了放入窗体中,若是有不合理的代码,则会弹出错误提示框,不让你放.若是你之前只是随便加了一个用户控件,并且没有什么问题,但后来你又把控件改坏掉了,那么你打开就会报错(在窗 ...
- mvc “System.NullReferenceException”类型的异常在 App_Web_zo44wdaq.dll 中发生,但未在用户代码中进行处理 其他信息: 未将对象引用设置到对象的实例。
“System.NullReferenceException”类型的异常在 App_Web_zo44wdaq.dll 中发生,但未在用户代码中进行处理 其他信息: 未将对象引用设置到对象的实例. 解决 ...
- 2014-08-26 解决HttpContext.Current.Session在ashx文件中出现“未将对象引用设置到对象的实例”的问题
今天是在吾索实习的第35天. 最近在使用HttpContext.Current.Session来获取Session["..."]的值时,常常会弹出错误——“未将对象引用设置到对象的 ...
- SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...
随机推荐
- C#winform调整控件的位置
现在有三个控件并排放置 第二个控件有隐藏功能 隐藏后第一个控件和第三个控件的距离要缩小,于是就要改变第三个控件的位置 尝试用Location.X属性去设置,但是被告知此非变量 于是只能另外想办法 搜到 ...
- linux与php时间函数有关的错误解决
最近在程序里写了不少获取时间或时间戳的函数date() strtotime()等,但是把程序拿到linux上运行却爆出这些函数的错误,具体原因是因为linux本身的时间设置以及php的时区问题. 先确 ...
- win8.1安装Matlab7.0的兼容问题
Matlab7.0安装完成后打开就立即关闭,此时右键点击MATLAB7.0快捷方式-"用图形处理器运行"-"更改默认图形处理器",将"集成图形&qu ...
- 两台装有Ubuntu系统的服务器搭建VPN(一台为本地服务器,另一台为云服务器)
我们搭建VPN采用的是openvpn,搭建过程总体需要经过三大步骤: 1.openvpn的安装与配置 2.端口转发 3.系统重启iptables规则自动生效 注意:以下所有名令在ro ...
- hdu 1712, multiple-choice knapsack, 分类: hdoj 2015-07-18 13:25 152人阅读 评论(0) 收藏
reference: 6.4 knapsack in Algorithms(算法概论), Sanjoy Dasgupta University of California, San Diego Chr ...
- android editText 监听事件
在软键盘中注意 在监听的 edittext中 使用android:imeOptions属性的时候,一定要对EditText设置 android:inputType 或者 设置 android:sing ...
- Python时区转换
最近工作中遇到了一个问题:我的server和client不是在一个时区,server时区是EDT,即美国东部时区,client,就是我自己的电脑,时区是中国标准时区,东八区.处于测试需要,我需要向se ...
- 关于TortoiseGit使用的心得
花了我一个晚上,终于弄明白为什么总是 push 失败的原因了!竟然是因为我用的是注册的用户名而不是邮箱名……囧死. 另外搞清楚了一个问题,就是 Git 和远程仓库交互有两种方式,即 https 方式和 ...
- C语言学习1——结构体剖析
一、定义结构体变量的方法 1.1先声明结构体类型在定义变量名 例如: a.声明结构体类型 struct student { int num; char name[20]; char sex; int ...
- hihoCoder#1082
刚开始学习C语言,准备在做hiho的题目的过程中来学习,在此进行记录,如果代码中有错误或者不当的地方还请指正. 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlh ...