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"
});

問題は、コードがコンパイルされることですが、ページのコンストラクターでこれを実行しても、空白の画面が表示されるか、リスト ボックスに何も表示されません。

4

1 に答える 1

4

ItemsSource="{Binding}"XAMLからパーツを削除します。リストは手動で入力するため、必要ありません。問題が発生する可能性があります。

もう1つのオプションは、XAMLをそのままにして、コレクションに入力し、次のWordClassように設定することDataContextです。

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

this.DataContext = list;
于 2012-05-19T20:13:37.327 に答える