Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中绑定Border.BackgroundProperty,更新问题_C#_Wpf_Binding - Fatal编程技术网

在C#中绑定Border.BackgroundProperty,更新问题

在C#中绑定Border.BackgroundProperty,更新问题,c#,wpf,binding,C#,Wpf,Binding,我想在C#中绑定Border.background属性。绑定可以工作,但边框元素不会随更改而更新 ui元素(fb\u coonnetionindicator=Border): var indicatorElement = new InputElement(""); indicatorElement.InputElementType = InputElementTypeEnum.Indicator; // verified label bin

我想在C#中绑定Border.background属性。绑定可以工作,但边框元素不会随更改而更新

ui元素(fb\u coonnetionindicator=Border):

            var indicatorElement = new InputElement("");
        indicatorElement.InputElementType = InputElementTypeEnum.Indicator;
        // verified label binding
        Binding indicatorBinding = new Binding("VerificationText");
        indicatorBinding.Source = ApplicationPersistantDataModel.Instance;
        indicatorElement.local_indicatorlabel.SetBinding(Label.ContentProperty, indicatorBinding);
        // backgroundcolor binding
        Binding colorBinding = new Binding("VerificationColor");
        colorBinding.Source = ApplicationDynamicDataModel.Instance;
        colorBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
        fb_ConnectionIndicator.fb_backGroundBorder.SetBinding(Border.BackgroundProperty, colorBinding);
        fb_ConnectionIndicator.AddElementToStackPanel(indicatorElement);
 public sealed class ApplicationDynamicDataModel
{
    private static ApplicationDynamicDataModel instance = new ApplicationDynamicDataModel();
    public static ApplicationDynamicDataModel Instance
    {
        get { return instance; }
        set { instance = value; }
    }

    // verification indicator color
    private SolidColorBrush _verificationColor = new SolidColorBrush(Colors.GreenYellow);
    public SolidColorBrush VerificationColor
    {
        get { return _verificationColor; }
        set
        {
            _verificationColor = value;
            OnPropertyChanged("VerificationColor");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    [NotifyPropertyChangedInvocator]
    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }
}
数据源:

            var indicatorElement = new InputElement("");
        indicatorElement.InputElementType = InputElementTypeEnum.Indicator;
        // verified label binding
        Binding indicatorBinding = new Binding("VerificationText");
        indicatorBinding.Source = ApplicationPersistantDataModel.Instance;
        indicatorElement.local_indicatorlabel.SetBinding(Label.ContentProperty, indicatorBinding);
        // backgroundcolor binding
        Binding colorBinding = new Binding("VerificationColor");
        colorBinding.Source = ApplicationDynamicDataModel.Instance;
        colorBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
        fb_ConnectionIndicator.fb_backGroundBorder.SetBinding(Border.BackgroundProperty, colorBinding);
        fb_ConnectionIndicator.AddElementToStackPanel(indicatorElement);
 public sealed class ApplicationDynamicDataModel
{
    private static ApplicationDynamicDataModel instance = new ApplicationDynamicDataModel();
    public static ApplicationDynamicDataModel Instance
    {
        get { return instance; }
        set { instance = value; }
    }

    // verification indicator color
    private SolidColorBrush _verificationColor = new SolidColorBrush(Colors.GreenYellow);
    public SolidColorBrush VerificationColor
    {
        get { return _verificationColor; }
        set
        {
            _verificationColor = value;
            OnPropertyChanged("VerificationColor");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    [NotifyPropertyChangedInvocator]
    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }
}

类声明应具有:INotifyPropertyChanged以实现INotifyPropertyChanged

public sealed class ApplicationDynamicDataModel : INotifyPropertyChanged  
如果在声明中没有它,则绑定无法订阅OnPropertyChanged事件