C# 为什么我的弹出背景是透明的?
我试图显示一个带有旋转图标的模式对话框,以指示背景中发生的事情 我正在为对话框使用一个C# 为什么我的弹出背景是透明的?,c#,windows-phone-7,C#,Windows Phone 7,我试图显示一个带有旋转图标的模式对话框,以指示背景中发生的事情 我正在为对话框使用一个弹出窗口,并为内容构建了一个用户控件 弹出窗口显示良好,但背景是透明的。内容按预期显示。理想情况下,我希望在弹出窗口上有黑色背景和白色边框 这是我的UserControl: <StackPanel VerticalAlignment="Center"> <Image Name="WaitImage" Source="/Resources/Images/Wait/70px/Loader-
弹出窗口
,并为内容构建了一个用户控件
弹出窗口
显示良好,但背景是透明的。内容按预期显示。理想情况下,我希望在弹出窗口上有黑色背景和白色边框
这是我的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>
您没有向StackPanel添加边框或背景 这样的办法应该行得通。根据您的应用程序,您可能只想使用真实颜色,而不是基于设备主题的颜色
<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>
我看不到您在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;