首页 > 解决方案 > 当我想在 WPF 中的“DocPanel”的“故事板”中显示“StackPanel”时发生崩溃

问题描述

我试图在单击主页按钮后显示一个菜单页面,但我有问题,当我单击“主页”时出现崩溃,并且崩溃说它找不到“主页”名称。我搜索了很多,但没有找到任何东西。

    <Grid Background="#FF303B61">
        <StackPanel x:Name="HomePage" Background="#FF06063A" Width="150" Margin="150,0,0,0" HorizontalAlignment="Left">
        </StackPanel>
        <DockPanel>
            <Canvas>
                <StackPanel Background="#FF06063A" Width="150" Margin="-101,0,0,0">
                    <StackPanel.Style>
                        <Style TargetType="StackPanel">
                            <Style.Triggers>
                                <EventTrigger RoutedEvent="MouseLeftButtonDown">
                                    <EventTrigger.Actions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation Storyboard.TargetName="HomePage" Storyboard.TargetProperty="Width" Duration="0:0:5" From="100" To="500" />
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </EventTrigger.Actions>
                                </EventTrigger>
                            </Style.Triggers>
                        </Style>
                    </StackPanel.Style>
                    <DockPanel VerticalAlignment="Center">
                        <Label Content="Label_1" Foreground="White" Width="91" VerticalAlignment="Center" Margin="0,10,0,10" HorizontalAlignment="Center"/>
                        <Image Source="Images/Home.png"  Width="32" Height="28" Margin="0,10,7,10" HorizontalAlignment="Right"/>
                        <DockPanel.Style>
                            <Style TargetType="DockPanel">
                                <Style.Triggers>
                                    <Trigger Property="IsMouseOver" Value="True">
                                        <Setter Property="Background" Value="Green"/>
                                    </Trigger>
                                </Style.Triggers>
                            </Style>
                        </DockPanel.Style>
                    </DockPanel>
                </StackPanel>
                <Border Background="#FF15184D">
                    <Grid/>
                </Border>
            </Canvas>
        </DockPanel>
    </Grid>
</Window>

我想展示这个

<StackPanel x:Name="HomePage" Background="#FF06063A" Width="150" Margin="150,0,0,0" HorizontalAlignment="Left">
            </StackPanel>

通过点击主页

<EventTrigger RoutedEvent="MouseLeftButtonDown">
                                    <EventTrigger.Actions>
                                        <BeginStoryboard>
                                            <Storyboard>
                                                <DoubleAnimation Storyboard.TargetName="HomePage" Storyboard.TargetProperty="Width" Duration="0:0:5" From="100" To="500" />
                                            </Storyboard>
                                        </BeginStoryboard>
                                    </EventTrigger.Actions>
                                </EventTrigger>

在此处输入图像描述

我的崩溃是: 在此处输入图像描述

标签: c#.netwpfvisual-studio

解决方案


不能使用 TriggerBase.EnterActionswith EventTrigger

BeginStoryboard直接添加到触发器:

<EventTrigger RoutedEvent="MouseLeftButtonDown">      
  <BeginStoryboard>
   <Storyboard>
      <DoubleAnimation Storyboard.TargetName="HomePage" Storyboard.TargetProperty="Width" Duration="0:0:5" From="100" To="500" />
    </Storyboard>
 </BeginStoryboard>
</EventTrigger>`

推荐阅读