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>
不,我不明白它与一个空的窗口。所以,这可能是因为窗户的设计?这是一个静态游戏(Boggle),我认为它可以很好地工作......除了这个问题,它还可以工作。 – sokolovic 2010-10-17 14:04:20
好吧,那么我会假设将这些项目逐个添加到对话框中(从空白对话框开始),以便查看哪些项目导致问题。 – Vlad 2010-10-17 14:14:20