2013-06-05 105 views
-1

我的ListView綁定存在問題,它沒有在列表中顯示任何內容。 我有以下視圖模型:綁定ListView不能正常工作的對象列表

namespace Users.ViewModel 
{ 
    public class AllUsersViewModel 
    { 
     public List<Module> _modules = new List<Module>(); 

     #region Constructor 

     public AllUsersViewModel() 
     { 
      this.SetModuleList(); 
     } 

     void SetModuleList() 
     { 
      _modules = ModuleRepository.GetModules(); 
     } 
    } 
} 

而且GetModules()函數返回集就好了。我已經通過_modules列表進行循環檢查。 這是我的XAML:

<ListBox x:Name="lstModules" Width="190" ItemsSource="{Binding _modules}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding ModuleName}"></TextBlock> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

什麼問題,爲什麼不ListBox填充?

回答

1

_modules是一個字段,您不能綁定到字段。使暴露的_modules的值的屬性:

public IEnumerable<Module> Modules 
{ 
    get { return _modules; } 
} 

,並綁定到這個屬性,而不是:

<ListBox x:Name="lstModules" Width="190" ItemsSource="{Binding Modules}"> 
+0

試了一下,複製和粘貼你的例子,而不改變其他任何東西,列表框仍顯示空 – Hank

+0

那麼你應該檢查'lstModules'的'DataContext'值。 – max

0

模塊集合應該是一個屬性,而不是一個變量。

public List<Module> Modules { get; set; }