0

バックグラウンドで何かが起こっていることを示すために、回転するアイコンでモーダル ダイアログを表示しようとしています。

Popupダイアログに を使用してUserControlおり、コンテンツ用に を作成しました。

正常にPopup表示されますが、背景が透明です。コンテンツは期待どおりに表示されます。理想的には、ポップアップに白い境界線のある黒い背景が欲しいです。

これが私のものUserControlです:

<StackPanel VerticalAlignment="Center">
    <Image Name="WaitImage" Source="/Resources/Images/Wait/70px/Loader-01.png" Stretch="None"></Image>
    <StackPanel Name="MessPanel" Visibility="Collapsed">
        <TextBlock Name="MessText" Foreground="White" TextAlignment="Center" TextWrapping="Wrap"></TextBlock>
        <Button Name="MessBtn" Content="OK" Click="MessBtn_Click" Width="150"></Button>
    </StackPanel>
</StackPanel>

4

2 に答える 2

0

StackPanel に Border または Background を追加していません。

このようなものがうまくいくはずです。アプリケーションによっては、デバイスのテーマに基づく色ではなく、実際の色を使用したい場合があります。

<Border BorderThickness="2" BorderBrush="{StaticResource PhoneContrastForegroundBrush}">
<StackPanel Background="{StaticResource PhoneChromeBrush}" VerticalAlignment="Center">
    <Image Name="WaitImage" Source="/Resources/Images/Wait/70px/Loader-01.png" Stretch="None"></Image>
    <StackPanel Name="MessPanel" Visibility="Collapsed">
        <TextBlock Name="MessText" Foreground="White" TextAlignment="Center" TextWrapping="Wrap"></TextBlock>
        <Button Name="MessBtn" Content="OK" Click="MessBtn_Click" Width="150"></Button>
    </StackPanel>
</StackPanel>
</Border>
于 2012-06-15T02:16:20.893 に答える
0

xaml で背景や境界線を定義しているようには見えません。背景と境界線が必要な場合は、いずれかを指定する必要があります。ポップアップの代わりに「オーバーレイ」を行うこともお勧めします。オーバーレイを使用すると、ページの残りの部分を無効にすることができます。

  <Grid x:Name="Overlay" Visibility="Collapsed">
        <Grid Background="{StaticResource PhoneBackgroundBrush}" Opacity=".6"/>
        <Border VerticalAlignment="Center" BorderThickness="2"
            Background="{StaticResource PhoneBackgroundBrush}" BorderBrush="{StaticResource PhoneForegroundBrush}"
            CornerRadius="5" Visibility="Visible" Margin="12">
            <StackPanel VerticalAlignment="Center">
                <Image Name="WaitImage" Source="/Resources/Images/Wait/70px/Loader-01.png" Stretch="None"/>
                <StackPanel Name="MessPanel" Visibility="Collapsed">
                    <TextBlock Name="MessText" Foreground="White" TextAlignment="Center" TextWrapping="Wrap"/>
                    <Button Name="MessBtn" Content="OK" Click="MessBtn_Click" Width="150"/>
                </StackPanel>
            </StackPanel>
        </Border>
    </Grid>

可視性を設定してオーバーレイを表示します

Overlay.Visibility = Visibility.Visible;
于 2012-06-15T02:22:39.470 に答える