2011-03-09 105 views

回答

2

如果你在谈论的扩展控制,你可以继承它,并覆盖IsExpanded属性,调用base.IsExpanded = value;

+0

有没有更好的方法来做到全球?我不想将所有扩展器控件应用程序全部更改为MyExpander – WhoIsNinja 2011-03-09 16:46:59

+0

可能有一种方法可以利用IsExpanded是DependencyProperty的事实,但现在我不知道如何。 – 2011-03-09 16:54:34

+0

我也是一个新手来.net和WPF。任何指向创建自定义控件并向该类添加事件的指针都将非常有帮助 – WhoIsNinja 2011-03-09 16:58:16

3

您可以使用预览活动

一个可能的变通方法不具有PreviewExpanded事件的扩展是处理PreviewMouseDown事件做点击测试,看看它的切换按钮。

或者有可能在所有的不知道延长沿 线的扩展类的东西我没有测试,这是真的作品

public class MyExpander: Expander 
{ 
    public event EventHandler<EventArgs> PreviewExpanded; 

    public void OnPreviewExpanded() 
    { 
     PreviewExpanded(this,new EventArgs()); 
    } 

    public override void OnExpanded() 
    { 
     PreviewExpanded() 
     base.OnExpanded(); 
    } 
} 
1

之前提高自己的PreviewExpanded事件如果任何对象,你与工作支持这种行为这将是匹配的“预览”事件。所以,这两个事件是匹配前后的集合。 KeyDown() PreviewKeyDown()

扩展器没有用于扩展的预览事件,如果这是您正在使用的。

相关问题