2010-10-17 8 views
1

Je crée une fenêtre séparée, la dessine avec XAML et quand j'appelle ShowDialog de la forme principale, il me semble que mon dialogue (Window) clignote une fois puis se montre. Est-ce un comportement commun? Je n'ai pas remarqué cela dans tout en travaillant avec Windows Forms. J'ai également couru l'application sur un autre ordinateur, et obtiens la même chose. Cela me dérange, parce que je développais un jeu simple, et ce n'est pas l'effet que je voudrais que les utilisateurs éprouvent.Comportement étrange sur ShowDialog dans WPF


Ce n'est pas un dialogue compliqué, compte tenu de la conception. Il contient juste l'étiquette et le bouton. En voici un échantillon:

<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> 

Répondre

1

n ° Clignotant sur ShowDialog n'est pas un comportement commun. Pourriez-vous d'abord essayer avec une fenêtre vide:

new Window().ShowDialog(); 

afin de voir si le problème persiste? Mis à part le sujet principal, WPF/XAML pourrait ne pas être la technologie appropriée pour un jeu compliqué pour des raisons de performance (bien que pour un simple, cela doit être OK).

+0

Non, je ne comprends pas avec une fenêtre vide. Donc, cela pourrait être à cause de la conception de la fenêtre? C'est un jeu statique (Boggle), je pensais que ça marcherait bien ... Et ça marche, en plus de ce problème. – sokolovic

+0

Eh bien, alors je suppose que d'ajouter les éléments à votre boîte de dialogue un par un (en commençant par une boîte de dialogue vide) afin de voir lequel d'entre eux cause le problème. – Vlad