为组合框更改的选择中的显示数据不正确

本文关键字:显示 数据 不正确 选择 组合 | 更新日期: 2023-09-27 18:24:06

在XAML中:

<Grid Background="White">
            <ComboBox  Grid.Row="0"
                        x:Name="BackTagBox"
                       ItemsSource="{Binding DataContext, RelativeSource={RelativeSource Self}}"
                        DisplayMemberPath="Name"
                        SelectedValuePath="Id"
                        SelectionChanged="SelectionChanged" Margin="88,0,555,0"/>
            <ListView  ItemsSource="{Binding Sides}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Width="225px" Height="250px">
                            <StackPanel Name="Side" Width="225px" Height="250px">
                            <TextBlock Name="Name" Text="{Binding Path=Name}">
                            </TextBlock>
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </Grid>

背后的代码:

private void SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var List = (ComboBox)sender;
            var Item = (LabelBagItem)List.SelectedItem;
            if (selectedItem == null)
                return;
            foreach (var side in GetSides(Item.Id, Item.number))
            {
                Item.Sides.Add(sideWeight);
            }
        }

如果我在ddl第二项和下一项中选择,那么如果数据正确添加到Item.Sides中,则数据不会显示。

数据仅在我选择第一项时显示

为组合框更改的选择中的显示数据不正确

将属性Sides的类型更改为ObservableCollection,而不是List

此类型将确保对集合的更改会自动通知给UI,以便应用这些更改。

你的DataClass缺少一些信息,所以我只能猜测。你说只有当你选择第一项时它才有效:

-->列表"侧面"最初是用第一个项目的数据填充的,还是从事件中填充的?