在我DataContext
的{{1}}中,我有一个对象,它暴露了一个名为“姓氏姓氏”的属性。
到目前为止,我已尝试过这三种可能性:
TextBox
没有效果。有人能为我提供一个有效的例子吗?
编辑: 我在PowerShell运行空间中创建了datacontext对象,如下所示:
Text="{Binding selectedEntity.Name Surname}"
Text="{Binding selectedEntity.'Name Surname'}"
Text="{Binding selectedEntity."Name Surname"}"
在那里,我被允许通过
访问该物业$myObject = New-Object PSObject
$myObject | Add-Member -Name "Sure Name" -Value "test" -MemberType "NoteProperty"
答案 0 :(得分:4)
不允许在标识符名称中使用空格字符(Unicode代码点值32)。
属性名称是使用其他一些unicode字符生成的,该字符看起来像一个空格,或者在IL中生成了类,其中标识符可以包含在C#中无效的字符。
您应该尝试找出为什么该属性具有该名称并尝试首先修复命名。如果您不知道在生成的课程中使用了哪些字符,那么无论如何都会丢失。
XAML允许转义特殊字符。如果您的属性名称包含例如空格字符(0x20),您可以尝试使用:
Text="{Binding selectedEntity.Name Surname}"
有关Spaces in identifier names的更多内容可能很有趣(或引起噩梦......)
答案 1 :(得分:0)
尝试从代码Behind添加绑定,可以达到目的
Binding mB = new Binding();
mB.Source = MyProperty;
myTextBlock.SetBinding(TextBlock.TextProperty, mB);
myTextBlock.DataContext = this;