【问题标题】:WPF control binding IssueWPF 控件绑定问题
【发布时间】:2014-05-03 17:26:17
【问题描述】:

我已经发布了 WPF 绑定,我将 ListBox 绑定到 Person ObservableCollection,使用 Textbox 作为显示人员的 DataTemplate,如果它是红色,我希望 TextBox 的背景从红色变为绿色,如果它是绿色,则从绿色变为红色,它更改,但 ListBox 不显示更改,我提高了 ObservableCollection 但它不起作用。

我创建了一个新的小项目,请下载HERE,看看我错过了什么。

在文本框中运行应用程序类型人员 ID(例如 1)并按下更改颜色按钮后,颜色会更改,但列表框不会响应该更改。

提前致谢

【问题讨论】:

    标签: c# wpf xaml binding


    【解决方案1】:

    你也应该在People类中实现INotifyPropertyChanged接口:

    public class People : INotifyPropertyChanged
    {
        public int PersonID { get; set; }
    
        private string _fullName;
        public string FullName
        {
            get { return _fullName; }
            set { _fullName = value; OnPropertyChanged("FullName"); }
        }
    
        private bool _Status;
        public bool Status
        {
            get { return _Status; }
            set { _Status = value; OnPropertyChanged("Status"); }
        }
    
        private SolidColorBrush _statusColor;
        public SolidColorBrush StatusColor
        {
            get { return _statusColor; }
            set { _statusColor = value; OnPropertyChanged("StatusColor"); }
        }
    
        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string name)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
    

    【讨论】:

    • Thaaaaaaaank 你,我在这个问题上花了大约 5 个小时,现在在你的帮助下它工作了,真的非常感谢你:)
    猜你喜欢
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    相关资源
    最近更新 更多