1

私の Windows ストア アプリ (c#) には、ポップアップがあります。

<Popup x:Name="LoginPopup" HorizontalAlignment="Center" VerticalAlignment="Center" Width="400" Height="300" IsOpen="{Binding Path=LoginPopupIsOpen}">
            <Popup.ChildTransitions>
                <TransitionCollection>
                    <PopupThemeTransition />
                </TransitionCollection>
            </Popup.ChildTransitions>
</Popup>

また、Popup IsOpen の場合、Popup でのみイベントを処理し、他のすべての UI (AppBar を含む) をフリーズする必要があります。
作業領域が少ない全画面ポップアップを作成しなくても可能ですか?

4

3 に答える 3

0

2 つのプロパティを使用して、xaml.cs ファイルで実行できます。作成しているポップアップのイベント ハンドラーには、次の 2 行を含めることができます。

this.IsEnabled = false;
this.ApplicationBar.IsVisible = false;

ポップアップを閉じたいイベントハンドラーで、プロパティを元の値に戻すことができます。

this.IsEnabled = true;
this.ApplicationBar.IsVisible = true;
于 2014-03-10T12:06:39.730 に答える
0

私も同様の問題に直面しており、これを使用してそれを処理しました。

        private void AlertMessage_Opened(object sender, object e)
    {
        UIBlock.Visibility = Windows.UI.Xaml.Visibility.Visible;
    }

    private void AlertMessage_Closed(object sender, object e)
    {
        UIBlock.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
    }

私のポップアップ名は AlertMessage で、開いたイベントと閉じたイベントを攻撃し、画面全体をカバーする境界線を xaml に配置し、ハンドルはこれらのイベントを介して表示されます。

    <Border Name="UIBlock" Grid.Row="0" Grid.RowSpan="3" Background="#AAFFFFFF" Visibility="Collapsed">
    </Border>

ポップアップの前にこの境界線を配置することを忘れないでください

于 2015-09-30T10:09:00.427 に答える