我试图在属性的值发生变化时使用属性来启用或禁用按钮。
例如:
string test
{
get
{
return xmlValue; // Reads a value from an XML file
}
set
{
if (xmlValue == null)
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
xmlValue = value; // Writes the value to an XML file
}
}
现在这个工作正常,除了在启动时。在调用set
之前,该按钮始终处于启用状态。
我试过了:
test = test;
似乎工作正常。但这是正确的方法吗?
答案 0 :(得分:3)
首先,我会先做突变:
xmlValue = value; // Writes the value to an XML file
if (xmlValue == null)
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
无论如何,我会做以下其中一项来初始化状态:
在构造函数中,写test = null
即使它已经处于该状态,至少你明确地初始化它而不是将它分配给它自己。
在设计器/ XAML中将button1.Enabled
设置为false。初始属性值应反映程序的正确初始状态。
您发布的作业可以正常使用,但不能很好地阅读,或者具有惯用意义,所以我会避免使用。