我有几次集成UserControl的视图。
文本被绑定并发生propertyChanged。都好。
但是BorderBrush永远不会改变。.ShiftID和BoxName始终为null。

我不确定我在这里缺少什么..整天都在玩耍和阅读东西。尚无解决方案。

一些建议将非常有帮助。

最佳答案

我不确定您如何实例化BorderBrush属性,但是对我来说它确实是这样工作的:

     public Brush BorderBrush
    {
        get { return (Brush)GetValue(BorderBrushProperty); }
        set { SetValue(BorderBrushProperty, value); }
    }

    // Using a DependencyProperty as the backing store for BorderBrush.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty BorderBrushProperty =
        DependencyProperty.Register("BorderBrush", typeof(Brush), typeof(MainWindow), new PropertyMetadata(null));


此实例化发生在InitializeComponent之后:

BorderBrush = new SolidColorBrush(Colors.Green);


在某个时候,我有一个Button Click处理程序,可以在其中进行更改:

(BorderBrush as SolidColorBrush).Color = Colors.Red;


我不确定这是否针对您的目标,但我没有看到您的实例化,我认为这可能是一个解决方案。

关于c# - UserControl属性绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30832415/

10-09 08:08