c# - 当我想在 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>
解决方案
你不能使用 TriggerBase.EnterActions
with 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>`
推荐阅读
- javascript - 具有多个状态值的 React 钩子不起作用但单独的状态值起作用
- spring - 在 Windows 中创建 gradle 项目期间无法安装 Gradle 发行版
- javascript - 如何过滤掉具有给定属性的对象?
- java - Spock:如何忽略或跳过某些情况?
- druid - pydruid:使用查询作为数据源
- tensorflow - 如何查看 Tensorboard 中节点的信息?
- c# - WPF。为 DataContext 属性赋值不会改变绑定属性的值
- spring - 路径变量的 Spring Boot 验证返回空白消息
- python-3.x - 从 Python Selenium 以 JSON 格式保存文本
- scala - 运行 Play 时出现 Heroku 错误:控制器/路由已由 Java 运行时的更新版本编译