为组合框更改的选择中的显示数据不正确
本文关键字:显示 数据 不正确 选择 组合 | 更新日期: 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缺少一些信息,所以我只能猜测。你说只有当你选择第一项时它才有效:
-->列表"侧面"最初是用第一个项目的数据填充的,还是从事件中填充的?