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 回答