【发布时间】:2020-04-24 15:19:50
【问题描述】:
我正在尝试将项目动态添加到 WPF 中的列表视图中,但我不知道为什么显示任何项目。虽然这是一个复习问题,所以我尝试使用一些 ObservableCollection 但它没有用。 我在两个文本块中获取信息,并希望它们在我单击按钮时显示在列表视图中。
你能帮我理解这个问题吗?
我的带有列表视图的 WPF
<ListView Name="listview" Margin="0 10 0 0" Height="150" ItemsSource="{Binding Recette}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding nomP}" Header="Nom" Width="250"/>
<GridViewColumn DisplayMemberBinding="{Binding quantP}" Header="Quantité" Width="100"/>
</GridView>
</ListView.View>
</ListView>
我的 .cs :
public List<Produits> Recette { get; set; }
public AjoutRecette()
{
InitializeComponent();
}
private void btnAjoutProd_Click(object sender, RoutedEventArgs e)
{
string nomP = combobProd.Text;
int quantP = int.Parse(txtbQuantité.Text);
Produits prod = new Produits(nomP, quantP);
Recette.Add(prod);
}
这是我已经尝试过的 ObersvableCollection :
public ObservableCollection<Produits> Recette { get; set; }
public AjoutRecette()
{
InitializeComponent();
}
private void btnAjoutProd_Click(object sender, RoutedEventArgs e)
{
Recette = new ObservableCollection<Produits>();
string nomP = combobProd.Text;
int quantP = int.Parse(txtbQuantité.Text);
Produits prod = new Produits(nomP, quantP);
Recette.Add(prod);
}
非常感谢!
【问题讨论】:
-
将
Recette更改为ObservableCollection<Produits>。 -
嗨,感谢您的帮助,但它仍然无法正常工作,即使使用“public ObservableCollection
Recette { get; set; }”也没有发生任何事情 -
如前所述,使用
ObservableCollection。还要确保ListView具有正确的DatContext,否则绑定将无法解析。 -
在您的构造函数中,在
InitializeComponment()调用之后添加DataContext = this;。