У меня есть cra sh, когда я хочу показать «StackPanel» в «Раскадровке» «DocPanel» в WPF - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь показать страницу меню после нажатия кнопки HomePage, но у меня проблема, у меня есть cra * sh, когда я нажимаю на "HomePage", и cra sh говорят, что он не может найти " Домашняя страница "имя. Я много искал, но ничего не нашел.

    <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>

enter image description here

мой крей sh это: enter image description here

1 Ответ

1 голос
/ 27 января 2020

Вы не можете использовать TriggerBase.EnterActions с 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>`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...