我正在尝试使用属性在属性值更改时启用或禁用按钮。
例如:
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;
它似乎工作正常。但这是正确的做法吗?
首先,我会先做突变:
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。初始属性值应反射(reflect)程序的正确初始状态。
您发布的作业会奏效,但读起来不太好,或者不合常理,所以我会避免使用它。
我是一名优秀的程序员,十分优秀!