WPF - 如何在任何时候只扩展一个扩展器

Awk*_*der 8 wpf expander stackpanel

我有一个带有一组扩展器的StackPanel,如何设置它以便任何时候只展开扩展器?

干杯

AW

Awk*_*der 5

我真的不想这样做,因为它需要在窗口的文件后面放置代码(C#)(我试图通过使用ViewModels等来完全避免这种情况).

理想情况下,我会在XAML中对此进行描述.

我联系了我感兴趣的Expander'Expanded'事件,并做了以下事情:

    private void HandleExpanderExpanded(object sender, RoutedEventArgs e)
    {
        ExpandExculsively(sender as Expander);
    }

    private void ExpandExculsively(Expander expander)
    {
        foreach (var child in findPanel.Children)
        {
            if (child is Expander && child != expander)
                ((Expander)child).IsExpanded = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

干杯

AWC