如何以编程方式崩溃在Silverlight中扩展?

时间:2011-04-22 09:45:52

标签: wpf silverlight expander

我需要能够在扩展器区域外的任何位置点击扩展器。我想知道可以使用什么技术。任何建议都非常感谢。

Expander XAML - 将绑定设置为isExpanded:

 <toolkit:Expander Header="Tasks" IsExpanded="{Binding IsExpanded}">

代码背后:

    public bool IsExpanded
    {
        get { return _isExpanded; }
        set
        {
            if (value == _isExpanded)
                return;
            _isExpanded = value;
            OnPropertyChanged("IsExpanded");
        }
    }

1 个答案:

答案 0 :(得分:2)

我假设您正在使用代码。

你可以在Expander的MouseLeave&amp; amp; MouseEnter处理程序

    private void expander1_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
    {   
        Application.Current.RootVisual.MouseLeftButtonDown += RootVisual_MouseLeftButtonDown;
    }

    void RootVisual_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        this.expander1.IsExpanded = false;
    }

    private void expander1_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
    {
        Application.Current.RootVisual.MouseLeftButtonDown -= RootVisual_MouseLeftButtonDown;
    }