我创建了一个带有一些内部元素的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而不是其他东西,所以有没有办法让它正常运行?谢谢:))
答案 0 :(得分:2)
挂钩到Control.IsEnabledChanged
事件并在此事件的处理程序中编写代码