如何将主窗口设置为不可见,以在WPF中将图像显示为主窗口

时间:2015-04-19 13:56:32

标签: c# wpf background-image

我想尝试为孩子们创建一个登录屏幕,让他们只使用他们的名字登录。我想使用图像作为登录屏幕而不是枯燥的普通窗口。我唯一的问题是每当我运行它时,图像周围仍然有一个框架,当我将主窗口设置为不可见时,它也会使其内部的图像不可见。 在下图中你可以看到图像周围仍然有空白区域,甚至认为它是透明的,并且周围仍然有边框,我该如何摆脱它?

enter image description here

2 个答案:

答案 0 :(得分:2)

在您的xaml窗口中,将WindowStyle设置为None,将AllowsTransparency设置为true,将ResizeMode设置为NoResize

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="300" Width="300"
    ResizeMode="NoResize"
    WindowStyle="None"
    AllowsTransparency="True"
    Background="{x:Null}">
    <Grid>
        ...
    </Grid>
</Window>

要移动无边框窗口,请使用以下代码:

// In xaml
<Window ... MouseDown="Window_MouseDown">

// In code behind
private void Window_MouseDown(object sender, MouseButtonEventArgs e)
{
    if (e.ChangedButton == MouseButton.Left) this.DragMove();
}

答案 1 :(得分:0)

我认为你必须添加到@Dusan的一个修改,在其他方面正确答案,是Windows背景必须是透明的,你的背景图片不能在窗口中托管,而是在子控件中(例如在{{ 1}}):

Grid