[英]How to remove Windows border from WPF UserControl?
為了解決這個問題,我正在編寫一個應用程序的后端編碼,該應用程序的UI是由其他人組合在一起的(我相信使用Blend)。 該應用程序由一系列“屏幕”組成,其XAML中的根元素是“ UserControl”。 在源代碼的任何地方都沒有使用“ Window”標簽。
我要做的是刪除運行程序時添加到應用程序外部邊緣的Windows邊框。 邊框當前由前進/后退按鈕(例如網絡瀏覽器)和要關閉的X按鈕組成。
我可以從搜索中找到的所有信息都是添加說明
WindowStyle="None"
到
<Window>
元件。 但是,當然,我沒有這些之一,而且WindowStyle不是UserControl的屬性。 有人知道如何使用UserControl根元素完成此操作嗎?
編輯:該應用程序的StartupUri是
this.StartupUri = new Uri(@"pack://application:,,,/WpfPrototype1.Screens;Component/Screen_1.xaml");
它指向的文件沒有Window標記。
根據上面的評論,您的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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.