2011-03-09 104 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()

擴展器沒有用於擴展的預覽事件,如果這是您正在使用的。

相關問題