在类型"GroupBox"中找不到属性'Click'。在 Netcore 3.1 中



我有一个netcore 3.1应用程序,希望添加一个点击事件,以便扩展/收缩GroupBox的内容。

不幸的是,Visual Studio在标题中抛出了错误,该错误指出GroupBox没有这样的事件,尽管在Microsoft参考中有这样的说明。

要复制的代码:

<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的文档是这样的。WPFGroupBox没有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>

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

[…]添加一个点击事件,以扩展/收缩GroupBox的内容。

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

  • 扩展器
  • 扩展器概述

最新更新