Как обрабатывать две сетки в одном окне для появления и исчезновения с DoubleAnimation? - PullRequest
0 голосов
/ 04 ноября 2010

Я думаю, что заголовок моего вопроса - какой-то беспорядок!Извините!

У меня есть две сетки в одном окне.Первое имя loginBox, а второе operationBox.Я хочу исчезнуть loginBox после проверки пользователя, используя класс DoubleAnimation, и в это же время будет отображаться OperationBox (в течение 00:00:01).

Сценарий:

  1. Сетка с именем loginBox отображается при отображении окна.После того, как пользователь нажал на btnLogin, loginBox начнет исчезать, используя DoubleAnimation для его свойства Opacity, и в то же время, operationBox появится с использованием той же техники.

  2. После завершения операции пользователь нажимает на btnLogout и operationBox начинают исчезать и loginBox появляются на DoubleAnimation.

Проблема в том, что operationBox сетка закончена loginBox grid, Пользователь не может ничего сделать в loginbox!Как бы то ни было operationBox.Opacity=0, но ничто не может сделать с сеткой loginBox при запуске!

КОД:

<!--Login Box-->
        <Grid Background="Transparent" Name="loginBox" VerticalAlignment="Center" HorizontalAlignment="Center">
            <Button Content="ورود" Height="23" HorizontalAlignment="Left" Margin="344,199,0,0" Name="btnLogin" VerticalAlignment="Top" Width="75" IsDefault="True"
                    Click="btnLogin_Click" >
                <Button.Triggers>
                    <EventTrigger RoutedEvent="Button.Click">
                        <BeginStoryboard>                            
                            <Storyboard>                                
                                <DoubleAnimation 
                                    Storyboard.TargetName="loginBox"
                                    Storyboard.TargetProperty="(Grid.Opacity)" 
                                    From="1" To="0" Duration="0:0:1" AutoReverse="False" />
                                <DoubleAnimation 
                                    Storyboard.TargetName="operationBox"
                                    Storyboard.TargetProperty="(Grid.Opacity)" 
                                    From="0" To="1" Duration="0:0:1" AutoReverse="False" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Button.Triggers>
            </Button>
.
.
.
</Grid>

.
.
.

        <!--Operation Box-->
        <Grid Background="Transparent" Name="operationBox" Opacity="0" Visibility="Hidden">
...
            <Button Content="خروج" Height="23" 
                    HorizontalAlignment="Left" Margin="15,324,0,0" Name="btnLogout" 
                    VerticalAlignment="Top" Width="75" Click="btnLogout_Click">
                <Button.Triggers>
                    <EventTrigger RoutedEvent="Button.Click">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation 
                                    Storyboard.TargetName="operationBox"
                                    Storyboard.TargetProperty="(Grid.Opacity)" 
                                    From="1" To="0" Duration="0:0:1" AutoReverse="False" />

                                <DoubleAnimation 
                                    Storyboard.TargetName="loginBox"
                                    Storyboard.TargetProperty="(Grid.Opacity)" 
                                    From="0" To="1" Duration="0:0:1" AutoReverse="False" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Button.Triggers>
            </Button>
        </Grid>

и, наконец, извините за плохую грамматику!:)

1 Ответ

1 голос
/ 04 ноября 2010

Попробуйте добавить operationBox.IsHitTestVisible = "False"

Обновление

Попробуйте добавить что-то подобное

<Grid Grid.ZIndex="4" Background="Green" Opacity="0.4" Name="loginBox" VerticalAlignment="Center" HorizontalAlignment="Center">
    <Grid.Style>
        <Style>
            <Style.Triggers>
                <Trigger Property="Grid.Opacity" Value="0.0">
                    <Setter Property="Grid.IsHitTestVisible" Value="False"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Grid.Style>
<!-- ... -->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...