2012-06-20 68 views
0

我对WPF样式有些麻烦。我有一个ListBox其中包含一堆空白(不应该是空白)标签。在我的XAML定义如下:WPF ListBox来自绑定集合的项目标签为空

  <ListBox Height="auto" Name="ProjectsList" Width="auto" DockPanel.Dock="Top" ItemsSource="{Binding Projects}"> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Grid Margin="3"> 
          <Label Content="{Binding Path=Name}" Foreground="Black" Height="40" Padding="7" VerticalAlignment="Center" ScrollViewer.HorizontalScrollBarVisibility="Hidden" Name="ProjectName" /> 
          <Label Content="{Binding Path=TaskCount}" Foreground="Gray" Width="25" Name="ProjectTaskCount" /> 
         </Grid> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 

ProjectsObservableCollection,其填充有Project结构(I定义的),其数据库查询之后创建抓住相应的数据。我可以遍历代码并查看查询返回正常,并查看结构被填写并添加到集合中。我也知道它填充了ListBox因为我可以选择它中的空白项目并且它被突出显示。但是没有应该有的文字。

Project属性NamestringTaskCount和为int

这里的Project定义

public struct Project 
{ 
    public Int64 Id; 
    public string Name; 
    public string Description; 
    public bool HasDueDate; 
    public DateTime DueDate; 
    public Int64 UserId; 
    public int TaskCount; 
} 

的问题是:为什么文本显示不出来?

+0

你能告诉你如何绑定你viewmodel来查看?并且是项目结构实现INotifyPropertyChanged? –

+0

不,'Project'不执行'INotifyPropertyChange'。我会添加更多信息。 –

+0

请实施INPC,并希望事情会正常工作。 –

回答

3

你可以绑定到公共属性。我只看到你的结构上的字段。并像其他人说:实施INotifyPropertyChanged并适当地提高它