2012-05-19 110 views
2

我有一個應用程序,我在其中向用戶顯示特定單詞的含義。因此,我在前端使用了一個listBox。這裏是代碼..綁定到列表框的項目

XAML:

<ListBox Background="White" Grid.Row="1" ItemsSource="{Binding}" Height="605" HorizontalAlignment="Stretch" Margin="0,90,0,0" Name="listBox1" VerticalAlignment="Top"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Vertical" Height="50"> 
     <TextBlock Text="{Binding ActualWord}" Height="5" /> 
     <TextBlock Text="{Binding Meaning}" Height="5"/> 
     <TextBlock Text="{Binding Type}" Height="5"/> 
     <TextBlock Text="{Binding Example}" Height="5" /> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

C#在後臺添加的話..

listBox1.Items.Add(new WordClass() 
{ 
    ActualWord = "Something", 
    Type = "Something111", 
    Meaning = "Something222", 
    Example = "Something333" 
}); 

的問題是,代碼編譯,但我看到空白屏幕,換句話說,即使我在頁面的構造函數中執行此操作,也不會在列表框中顯示任何內容。

回答

3

從您的XAML中刪除ItemsSource="{Binding}"部分。由於您手動填寫名單,您不需要它,並且可能會導致問題。

另一種選擇是離開你的XAML,因爲它是填補WordClass的集合,並將其設置爲DataContext

var list = new List<WordClass>(); 
list.Add(new WordClass() 
{ 
    ActualWord = "Something", 
    Type = "Something111", 
    Meaning = "Something222", 
    Example = "Something333" 
}); 
... 

this.DataContext = list; 
相關問題