设置userControl“isEnabled”时内部组件的自定义功能

时间:2011-12-15 10:38:35

标签: c# silverlight

我创建了一个带有一些内部元素的silverlight UserControl,当设置控件isEnabled属性时,我想自定义更改(例如,将一些内部Image控件更改为灰色)。使用其他属性我设置了DependencyProperty并在那里执行代码,但是这并没有调用isEnabled(我假设它已经被声明了)。代码如下;

public static readonly DependencyProperty EnabledProperty =
DependencyProperty.Register("isEnabled", typeof(bool), typeof(BreadcrumbElement), null);

    public bool isEnabled
    {
        get { return (bool)GetValue(TitleProperty); }
        set
        {
            SetValue(TitleProperty, value);
            if (value)
                Chevron.Source = new BitmapImage(new Uri("../Resources/ChevronRight.png", UriKind.Relative));
            else
                Chevron.Source = new BitmapImage(new Uri("../Resources/ChevronRight_Disabled.png", UriKind.Relative));

        }
    }

我想使用isEnabled而不是其他东西,所以有没有办法让它正常运行?谢谢:))

1 个答案:

答案 0 :(得分:2)

挂钩到Control.IsEnabledChanged事件并在此事件的处理程序中编写代码

http://msdn.microsoft.com/en-us/library/system.windows.controls.control.isenabledchanged%28v=vs.95%29.aspx