2010-10-17 66 views
1

我創建單獨的窗口,用XAML設計它,當我從主窗體調用ShowDialog時,好像我的對話框(Window)閃爍一次,然後顯示它自己。這是一種常見的行爲嗎?在使用Windows窗體時我沒有注意到這一點。我也在另一臺計算機上運行應用程序,並獲得相同的結果。它困擾我,因爲我正在開發一個簡單的遊戲,並不是我希望用戶體驗的效果。WPF中ShowDialog的奇怪行爲


考慮到設計,這不是一個複雜的對話框。它只包含標籤和按鈕。這裏有一個例子:

<Window x:Class="A_Boggle.Info" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="Info" Height="300" Width="670" AllowsTransparency="True" WindowStyle="None" Background="Transparent" BorderBrush="Transparent" Foreground="Transparent" ShowInTaskbar="False" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" Closing="Window_Closing"> 
<Grid> 
    <Border Background="Transparent" Visibility="{Binding Visibility}"> 
     <Border BorderBrush="#FF7C4400" BorderThickness="4" 
      CornerRadius="10,0,10,0" VerticalAlignment="Center" HorizontalAlignment="Center" Height="177.5" Width="596.25"> 
      <Border.Background> 
       <RadialGradientBrush Center="0.5,0.5" GradientOrigin="0.5,0.5" RadiusX="0.479" RadiusY="0.524"> 
        <GradientStop Color="#FFF58611" Offset="0"/> 
        <GradientStop Color="#FFF58611" Offset="0.11798000335693359"/> 
        <GradientStop Color="#FFE9B231" Offset="1"/> 
       </RadialGradientBrush> 
      </Border.Background> 
      <Border.BitmapEffect> 
       <DropShadowBitmapEffect Color="Black" Opacity="0.5" Direction="270" ShadowDepth="0.7" /> 
      </Border.BitmapEffect> 
      <Grid> 
       <Separator Height="20" Name="separator1" Margin="8.75,0,6.25,45" VerticalAlignment="Bottom" /> 
       <Button Style="{DynamicResource OrangeButton}" Margin="406.25,0,6.25,6" Height="37.75" VerticalAlignment="Bottom" FontSize="16" Name="dialogButton" Click="dialogButton_Click"></Button> 
       <Label FontFamily="Resources/#French Grotesque" FontSize="20" Foreground="#FF7C4400" Margin="8.75,20,6.25,71.25" Name="messageLabel"></Label> 
      </Grid> 
     </Border> 
    </Border> 
</Grid> 

回答

1

號上閃爍的ShowDialog是不常見的行爲。您可以先嚐試一個空的窗口:

new Window().ShowDialog(); 

爲了看看問題是否仍然存在?除了主要的話題,WPF/XAML可能並不是適合複雜遊戲的技術,因爲性能方面的原因(儘管對於簡單的遊戲來說必須是OK)。

+0

不,我不明白它與一個空的窗口。所以,這可能是因爲窗戶的設計?這是一個靜態遊戲(Boggle),我認爲它可以很好地工作......除了這個問題,它還可以工作。 – sokolovic 2010-10-17 14:04:20

+0

好吧,那麼我會假設將這些項目逐個添加到對話框中(從空白對話框開始),以便查看哪些項目導致問題。 – Vlad 2010-10-17 14:14:20