【发布时间】:2015-03-20 09:29:18
【问题描述】:
我目前在将对象绑定到 WPF 列表框时遇到了一些问题。元素的数量已正确填充,但无法访问 Name 属性。我收到以下错误消息:
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“__ComObject”(HashCode=17252513)上找不到“名称”属性。 绑定表达式:路径=名称; DataItem='__ComObject' (哈希码=17252513);目标元素是'TextBlock'(名称='');目标 属性是“文本”(类型“字符串”)
但是,我可以在运行时将此属性正确打印到控制台。
看起来对象没有正确投射
XAML:
<ListBox Name="lbSelectConfiguration" Margin="10" ItemsSource="{Binding Configurations}">
<ListBox.ItemTemplate>
<StackPanel Margin="5" Orientation="Horizontal">
<Image Source="/Resources/Configuration.png" Margin="0,0,8,0" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
背后的代码
this.DataContext = viewModel;
this.viewModel = viewModel;
foreach (Configuration config in this.viewModel.Configurations)
{
Console.WriteLine(config.Name);
}
你能帮帮我吗?谢谢。
【问题讨论】:
-
您确定 Name 是公共属性,而不是公共字段吗?
-
谢谢克莱门斯,但它实际上是公共财产。摘录:公共接口配置{字符串名称{get;设置;}}