2012-06-14 2 views
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> 

답변

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; 
+0

감사의 설정하여 오버레이를 표시합니다. – howettl

0

당신은 테두리 또는 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> 
관련 문제