0

私は問題を抱えています.3つの列(ID、NAME、QUANTITY)を持つデータテーブルデータがあります.ListBoxにバインドし、ListBoxに列NAMEとQUANTITYの値を表示させたいです.そうでなければ、選択した列をダブルクリックするとアイテム、ID 値を送信します。ここに私の XAML があります。

<ListBox  HorizontalAlignment="Left" Margin="6,0,0,0" Name="ListBox1" VerticalAlignment="Top" Height="600" Width="321">
                        <ListBox.ItemContainerStyle>
                            <Style TargetType="{x:Type ListBoxItem}">
                                <EventSetter Event="MouseDoubleClick" Handler="ListBox1Item_DoubleClick" />
                            </Style>
                        </ListBox.ItemContainerStyle>
                        <ListBox.Resources>
                            <DataTemplate x:Key="listBoxTemplate">
                                <DockPanel >
                                    <TextBlock FontWeight="Bold" Text="{Binding NAME}"
                  DockPanel.Dock="Left"
                  Margin="5,0,10,0" Width="100"/>

                                    <TextBlock Text="{Binding QUANTITY} "   Foreground="Green" FontWeight="Bold" />
                                </DockPanel>
                            </DataTemplate>
                        </ListBox.Resources>
                    </ListBox> 

これが私のコードビハインドです:

...
            ListBox1.ItemsSource = data.DefaultView;
            ListBox1.SelectedValuePath = "ID";
...

しかし、何も表示されません。何か問題がありますか? 助けてください!これを読んでくれてありがとう!

4

1 に答える 1

1

ListBox.ItemTemplate を設定する必要があります。キーを使用してテンプレートを定義している時点では、そのテンプレートはどこにも使用されていません。

<ListBox.ItemTemplate>
    <DataTemplate>
        <DockPanel >
            <TextBlock Text="{Binding NAME}" FontWeight="Bold"
                       DockPanel.Dock="Left"
                       Margin="5,0,10,0" Width="100" />
            <TextBlock Text="{Binding QUANTITY}" FontWeight="Bold"
                       Foreground="Green" />
        </DockPanel>
    </DataTemplate>
</ListBox.ItemTemplate>
于 2012-06-19T14:06:37.187 に答える