2013-05-15 93 views
0

我试图将textblock绑定到可观察集合中的项目。以下是集合的类和属性。我是否正确绑定?谢谢!将TextBlock绑定到Observable Collection

public class ListStuff 
{ 
    public string Name { get; set;} 
} 

private ObservableCollection<ListStuff> mListStuff = new ObservableCollection<ListStuff>(); 

public ObservableCollection<ListStuff> NameLists 
     { 
      get 
      { 
       return mListStuff; 
      } 
     } 

这里是XAML中,如果我绑定到名称列表,它说(集合)

 <Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" BorderThickness="0"       
      <TextBlock Margin="0,5" FontSize="24" HorizontalAlignment="Stretch" Text="{Binding Path=Name"}/>                   
      </Border> 

回答

2

“名称”属性必须是公开的。您只能针对公共属性进行绑定。从属性名称中删除标识符,基本上意味着它变成了一个私有属性,所以WPF系统找不到它,因为它仅使用反射搜索公共属性。

+0

对不起,这是一个错字!我更新了上面的代码! – KeyboardFriendly

+2

你没有提供足够的信息,你的Xaml有严重的错别字(至少我希望如此)。你为什么不粘贴你实际使用的代码?您需要使用某种容器绑定NameLists属性(ItemsControl,ComboBox,TabControl等)。 –

+0

感谢Erti此链接在阅读您的建议后很有帮助http://rachel53461.wordpress.com/2011/09/17/ WPF的ItemsControl的-示例/ – KeyboardFriendly