【发布时间】:2011-07-20 18:50:02
【问题描述】:
我目前正在将列表视图绑定到对象列表,并且一切正常。
只要我放入我的 Window 元素 DataContext="{Binding RelativeSource={RelativeSource Self}}",我就可以很好地绑定到 xaml 后面的代码
我的 ListView 看起来像这样,我的绑定列与 MyCollection 项目的属性的绑定正常工作。
<ListView ItemsSource="{Binding MyCollection}">
虽然我总是希望它说同样的话,但对于其中一个专栏。例如,此列将始终包含“Hello World”
以下代码给我一个绑定错误:
<GridViewColumn Header="I want all fields to be Hello World" DisplayMemberBinding="{Binding Source={x:Static Member=MyNamespace.MyStaticClass},Path=MyStaticStringField}" />
我得到错误:
错误 MC3050:找不到类型“MyNamespace”。请注意,类型名称区分大小写。
MyNamespace 是与窗口本身相同的命名空间,并且 MyStaticClass 是公共的
如果我改为尝试:
<GridViewColumn Header="I want all fields to be Hello World" DisplayMemberBinding="{Binding Source={x:Static Member=MyStaticClass},Path=MyStaticStringField}" />
我得到错误:
错误 MC3029:“MyStaticClass”成员无效,因为它没有限定类型名称。
奇怪的是,当我这样做时,它会起作用:
<GridViewColumn Header="This works" DisplayMemberBinding="{Binding Source={x:Static Member=SystemFonts.IconFontFamily}, Path=Source}" />
我尝试绑定的字段的代码:
namespace MyNamespace
{
public static class MyStaticClass
{
public static string MyStaticStringField{ get; set; }
}
}
【问题讨论】:
-
能否贴出课程的相关代码?
标签: c# wpf data-binding binding