我很难将简单的静态字符串属性绑定到文本框。
这是具有静态属性的类:
public class VersionManager
{
private static string filterString;
public static string FilterString
{
get { return filterString; }
set { filterString = value; }
}
}
在我的 xaml 中,我只想将此静态属性绑定到 TextBox:
<TextBox>
<TextBox.Text>
<Binding Source="{x:Static local:VersionManager.FilterString}"/>
</TextBox.Text>
</TextBox>
一切都可以编译,但在运行时,我收到以下异常:
无法转换属性中的值
“源”到类型对象
'系统.Windows.Markup.StaticExtension'。
对象错误
'System.Windows.Data.Binding' 中
标记文件
'BurnDisk;组件/selectversionpagefunction.xaml'
第 57 行位置 29。
知道我做错了什么吗?
如果绑定需要是双向的,则必须提供路径。
如果类不是静态的,有一个技巧可以对静态属性进行双向绑定:在资源中声明该类的虚拟实例,并将其用作绑定的源。
<Window.Resources>
<local:VersionManager x:Key="versionManager"/>
</Window.Resources>
...
<TextBox Text="{Binding Source={StaticResource versionManager}, Path=FilterString}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)