我很难将简单的静态字符串属性绑定到文本框.
这是具有静态属性的类:
public class VersionManager
{
private static string filterString;
public static string FilterString
{
get { return filterString; }
set { filterString = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
在我的xaml中,我只想将此静态属性绑定到文本框:
<TextBox>
<TextBox.Text>
<Binding Source="{x:Static local:VersionManager.FilterString}"/>
</TextBox.Text>
</TextBox>
Run Code Online (Sandbox Code Playgroud)
所有内容都编译,但在运行时,我得到以下异常:
无法将属性"Source"中的值转换为"System.Windows.Markup.StaticExtension"类型的对象.标记文件'BurnDisk中的对象'System.Windows.Data.Binding'出错;组件/ selectversionpagefunction.xaml'第57行位置29.
知道我做错了什么吗?
我把自己绑在一个简单的问题上.我有一个实现的类INotifyPropertyChanged.某些实例属性的getter使用静态属性,因此如果静态属性发生变化,它们的值可能会发生变化?这是一个简化的例子.
class ExampleClass : INotifyPropertyChanged
{
private static int _MinimumLength = 5;
public static int MinimumLength
{
get
{
return _MinimumLength;
}
set
{
if (_MinimumLength != value)
{
_MinimumLength = value;
//WHAT GOES HERE
}
}
}
private int _length = -1;
public int length
{
get
{
return (_length > _MinimumLength) ? _length : _MinimumLength;
}
set
{
var oldValue = (_length > _MinimumLength) ? _length : _MinimumLength;
if (_length != value)
{
_length = value; …Run Code Online (Sandbox Code Playgroud)