我是一名有用的助手,可以为您进行文本翻译。以下是您需要翻译的内容:
在这个例子中,我有一个名为“SelectControl”的“UserControl”,它有一个名为“StateType”的属性,在其setter中操作其他一些属性。
为了帮助说明问题,我在示例中添加了另一个名为“Text”的属性,继续阅读,我将进一步解释。
代码后台摘录...
现在,如果我在
然而,对于
有人知道发生了什么吗?
我有一个 WPF 应用程序,在其中我在代码后台中使用依赖属性,我想通过 XAML 声明来设置。
例如:
<l:SelectControl StateType="A" Text="Hello"/>
在这个例子中,我有一个名为“SelectControl”的“UserControl”,它有一个名为“StateType”的属性,在其setter中操作其他一些属性。
为了帮助说明问题,我在示例中添加了另一个名为“Text”的属性,继续阅读,我将进一步解释。
代码后台摘录...
public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(String), typeof(SelectControl));
public String Text
{
get { return (String)GetValue(TextProperty); }
set { SetValue(TextProperty, value); }
}
public static readonly DependencyProperty StateTypeProperty = DependencyProperty.Register("StateType", typeof(String), typeof(SelectControl));
public String StateType
{
get { return (String)GetValue(StateTypeProperty) }
set
{
switch (value)
{
case "A":
AnotherPropertyBoolean = true;
break;
case "B":
AnotherPropertyBoolean = false;
break;
default:
// this is only an example...
}
}
}
现在,如果我在
StateType
或Text
的setter上设置断点,结果发现它们从未被执行。然而,对于
Text
声明的值,即"Hello"出现在其数据绑定的TextBox
中,当然,如果我将另一个文本控件绑定到StateType
的值,我也可以看到它。有人知道发生了什么吗?