当前位置:  开发笔记 > 编程语言 > 正文

数据绑定到数据绑定对象内的列表

如何解决《数据绑定到数据绑定对象内的列表》经验,为你挑选了1个好方法。

我是WPF和数据绑定的新手,所以希望我可以用足够的细节解释我遇到的问题以获得一些帮助.

我有一个绑定到窗口的数据对象列表.让我们说一下食谱清单.我设法让应用程序在列表框中显示每个配方的一些细节,并在各种文本框中显示所选配方的一些更多细节.我的问题是,当我选择食谱时,我想在每个食谱中列出一些成分,我想在另一个列表框中显示,但我无法弄清楚如何使数据绑定起作用.

我的数据类看起来像:

public class Recipes : ObservableCollection
{
}

public class RecipeDetails
{
    public string Name { get; set; }
    public string Description { get; set; }
    public List Ingredients;
}

public class RecipeIngredient
{
    public string IngredientName { get; set; }
}


public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        m_recipes = new Recipes();
        // m_recipes initialisation
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        DataContext = m_recipes;
    }

    private Recipes m_recipes;
}

我的数据绑定尝试(在XAML中)看起来像:


    
        
            
                
                    
                
            
        
        
            
            
            
                
                    
                        
                    
                
            
        
    

但是当我尝试运行此代码时,成分列表框始终为空.谁能告诉我我做错了什么?



1> Jobi Joy..:

问题是因为您声明和初始化Ingredients列表的方式,将其设为ObservableCollection并仅在构造函数中初始化Ingredients集合,如下所示

 public class RecipeDetails
{
    public RecipeDetails()
    {
        _ingredients = new ObservableCollection();
    }

    public string Name { get; set; }
    public string Description { get; set; }

    private ObservableCollection _ingredients;

    private ObservableCollection Ingredients
    {
        get { return _ingredients; }
    }
}

还有一点要添加到您的方法中,建议在此类上使用INotifyPropertyChanged,以便在TextBox中键入内容时可以轻松实现TwoWay绑定.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有