0

作为这个问题的序言,我正在编写一个应用程序的后端,该应用程序的 UI 是由其他人组合在一起的(我相信使用 Blend)。该应用程序由一系列“屏幕”组成,其 XAML 中的根元素是“UserControl”。源代码中的任何地方都没有使用“Window”标签。

我想要做的是删除运行程序时添加到应用程序外边缘的 Windows 边框。边框目前由前进/后退按钮(如 Web 浏览器)和用于关闭的 X 按钮组成。

我只能从搜索中找到添加说明

WindowStyle="None"

<Window>

元素。但当然,我没有其中之一,而且 WindowStyle 不是 UserControl 的属性。任何人都知道如何使用 UserControl 根元素来实现这一点?

编辑: 应用程序的 StartupUri 是

this.StartupUri = new Uri(@"pack://application:,,,/WpfPrototype1.Screens;Component/Screen_1.xaml");

它指向的文件没有 Window 标签。

4

1 回答 1

2

根据上面的评论,您似乎MainWindow是在某处动态创建的,但是您可以使用Application该类来获取应用程序MainWindow

var mainWindow = Application.Current.MainWindow;

然后你可以从那里设置你的边框样式

例子:

private void RemoveBorder()
{
    var mainWindow = Application.Current.MainWindow;
    if (mainWindow != null)//should never be
    {
        mainWindow.WindowStyle = System.Windows.WindowStyle.None; // removes top bar (icon, title, close buttons etc)
        mainWindow.AllowsTransparency = true; //removes the border around the outside
    }
}
于 2013-04-29T06:14:54.747 回答