【问题标题】:Why do properties show they are NOT public?为什么属性显示它们不公开?
【发布时间】:2015-09-18 20:47:11
【问题描述】:

我有一个要绑定到属性的标签。我的DataContext 是一个实现INotifyPropertyChangedpublic Class


我的属性在我的公共类中定义如下:

    public string ProgressMessage
    {
        get { return _progressMessage; }
        set 
        {
            if (_progressMessage != value)
            {
                _progressMessage = value;
                NotifyPropertyChanged("ProgressMessage");                
            }
        }
    }

那么为什么它会像这样(不公开)以智能感知形式出现:


这就是为什么我更改ProgressMessage的值时标签不更新的原因吗??

我已经完成了Mode=TwoWay, UpdateSourceTrigger=PropertyChanged 和我能想到的所有其他组合,有人可以帮助我或指出正确的方向吗?

【问题讨论】:

  • 您能否提供一些不起作用的完整小样本。一个标签,一个具有您绑定到的一个属性的视图模型等。按原样 - 不可重现。
  • 我在 VS 2015 中得到了相同的锁图标,但是当ProgressMessage 更改时我的标签会正确更新。因此,您的绑定由于其他原因无法正常工作。
  • 这是唯一不起作用的属性吗?同一类中是否还有其他属性有效?
  • 这只是一个猜测。看起来问题不在您的财产上。这是在你的班级水平。似乎您的所有属性都已锁定,例如SelectedJob 和 OpenResourceCommand。

标签: c# wpf xaml


【解决方案1】:

在我看来,你看到的那种看起来像一把锁的符号实际上并不是一把锁。相反,它似乎是在识别您可以绑定到的数据上下文上的属性。我能够重新创建此问题并成功绑定到具有该符号的属性。

如果您继续输入 {Binding Path= 您将看到它只显示可能的绑定路径:

【讨论】:

  • 谢谢,我认为你对那个符号的看法是对的,我的绑定还有其他问题
猜你喜欢
  • 2021-10-09
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多