在类型 'GroupBox' 中找不到 属性 'Click'。在网络核心 3.1 中

The Property 'Click' was not found in Type 'GroupBox'. in netcore 3.1

我有一个 netcore 3.1 应用程序,想添加一个点击事件以扩展/收缩 GroupBox.

的内容

不幸的是,Visual Studio 抛出了标题中的错误,指出 GroupBox 没有这样的事件,即使 Microsoft reference 中如此说明。

重现代码:

<UserControl x:Class="SoundStudio.Views.LibraryView.Library"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             <!-- xmlns:local="clr-namespace:SoundStudio.Views.LibraryView" -->
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <StackPanel>
        <Label Content="Library"></Label>
        <Button x:Name="ImportButton" Content="Import" Click="ImportButton_Click"></Button>
        <GroupBox Header="Filter V" x:Name="FilterGroupBox" Click="FilterGroupBox_Click">
            <!-- <local:Filterview></local:Filterview> -->
        </GroupBox>
    </StackPanel>
</UserControl>

您发布的文档是针对 Windows 表单的,针对 WPF 的文档是 this。 WPF GroupBox 没有 Click 事件,但您可以使用所有 Mouse* 事件来代替:

  • 定义于 UIElement
    • MouseLeftButtonDown
    • PreviewMouseLeftButtonDown
    • MouseLeftButtonUp
    • PreviewMouseLeftButtonUp
    • ...
  • 定义于 Control
    • MouseDoubleClick
    • PreviewMouseDoubleClick
<GroupBox Header="Filter V" x:Name="FilterGroupBox" MouseLeftButtonDown="FilterGroupBox_Click">
   <!-- <local:Filterview></local:Filterview> -->
</GroupBox>

从另一个角度来看,您可能首先使用了错误的控件。

[...] add a click event in order to expand / contract the content of the GroupBox.

在这种情况下,您可以使用专为此目的而设计的 Expander