【发布时间】:2021-09-16 05:33:46
【问题描述】:
我有一个应用程序,当按下按钮时,会添加一个新对象“类别”,并且 UI 更新会插入一个 ComboBox 和一个 TextBlock:
但是当我选择一个项目时,每个组合框都会发生变化:
如何避免这种情况?
这是我的代码:
XAML
<ItemsControl x:Name="icc" ItemsSource="{Binding Path=Categorie,UpdateSourceTrigger=PropertyChanged}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<ComboBox SelectedValue="{Binding c_nome_categoria , Mode=TwoWay}" Background="White" BorderBrush="Brown" BorderThickness="1" HorizontalAlignment="Left" Width="150" Grid.Column="1" ItemsSource="{Binding ElementName=icc, Path=DataContext.listaCategorie}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="nomeCategoria" ></ComboBox>
<TextBox Text="{Binding contenutoCategoria}" materialDesign:HintAssist.Hint="Inserisci gli oggetti" AcceptsReturn="True"></TextBox>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
视图模型:
private BindingList<Categoria> _listaCategorie = new BindingList<Categoria>();
public BindingList<Categoria> listaCategorie
{
get { return _listaCategorie; }
set
{
_listaCategorie = value;
OnPropertyChanged("listaCategorie");
}
}
private BindingList<CategorieValigia> _Categorie = new BindingList<CategorieValigia>();
public BindingList<CategorieValigia> Categorie
{
get { return _Categorie; }
set
{
_Categorie = value;
OnPropertyChanged("Categorie");
}
}
public void InserisciCategoria()
{
listaCategorie = getCategorie();
CategorieValigia cv = new CategorieValigia();
Categorie.Add(cv);
}
【问题讨论】:
标签: c# wpf visual-studio xaml mvvm