我有这个奇怪的wpf问题。 我有一个窗口(全screennm)与影像,看起来是这样的: 用showDialog打开窗口,TextBlock显示窗口下方而不是文本
我打开一个新的窗口,ShowDialog的uppon这个窗口,这是不是全屏(看起来像一个弹出窗口,但它的一个窗口) 。代码是这样的:
Window next; next = new PasswordVerification();
next.Owner = this;
next.ShowDialog();
打开的窗口,我用它来居中“弹出”上:
this.Left = this.Owner.Left + (this.Owner.Width - this.ActualWidth)/2;
this.Top = this.Owner.Top + (this.Owner.Height - this.ActualHeight)/2;
this.Topmost = true;
我得到这样的事情(我修剪它,窗外是轻微的更大) :
当文本块的定义如下:
<Rectangle Name="errorBorder" Fill="#34FF0000" FlowDirection="RightToLeft" RadiusX="13" RadiusY="13" Stroke="#FFB80005" Visibility="Visible" Margin="43,195,78,203" />
<TextBlock Name="error" Text="TextBlock" Margin="49,195,91,205" FontSize="20" FlowDirection="RightToLeft" FontWeight="Bold" Foreground="#FFB80000" Visibility="Visible" />
现在,我有一个按钮,这是否:
error.Text = "blabla";
但不是我所期待的(即文本将更改)我得到这个奇怪的东西: 正如你可以看到,从后面的图像窗口是slrtly显示,而不是我的textBlock!
这是怎么回事??请帮助!
弹出的XAML:
<Window ... Width="1000" Height="700" AllowsTransparency="True"
WindowStyle="None"
Background="#00000000"/>
<Border Style="{StaticResource SmallScreenBorderStyle}" CornerRadius="23" Padding="2" Margin="153.66,117.992,153.661,117.992" d:LayoutOverrides="Width, Height">
<!-- Use a VisualBrush of 'mask' as the opacity mask -->
<Grid.OpacityMask>
<VisualBrush Visual="{Binding ElementName=mask}"/>
</Grid.OpacityMask>
<!-- Rounded mask (stretches to fill Grid) to make grid rounded corners -->
<Border x:Name="mask" CornerRadius="20" Margin="2,5,-1,-5" d:LayoutOverrides="GridBox" Style="{StaticResource MaskBorderStyle}"/>
只是做了一个简单的应用程序,试图重现您的行为,但它按预期工作。从图片来看,我认为PasswordVerification窗口有一些修改使它看起来像一个弹出窗口。你可以展示这些吗?或者切断它们以缩小问题的范围? – SvenG 2012-03-29 07:13:29
是的。我编辑我的帖子,我将添加一些xaml – Programer 2012-03-29 14:22:42