2012-06-20 88 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並適當地提高它