我有public class MyControl : ContentControl
,我有控制和事件的定义与之对应。
这个控件运行正常,但是当它被禁用时,它看起来仍然像启用。我想做{if} control.isenabled = false
然后control.opacity = 0.5;
我该怎么办?
答案 0 :(得分:1)
在WPF中,使用了触发器。
<MyControl>
<MyControl.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</MyControl.Triggers>
</MyControl>
答案 1 :(得分:0)
正如你所说 - 这个触发器不起作用 - 我已经检查了......
但是我找到了解决方案 - 在OnApplyTemplate方法中我添加了几行:
public override void OnApplyTemplate()
{
//...
if (this.IsEnabled == false)
{
this.Opacity = 0.4;
}
}