当我显示和隐藏子窗口时,即使我隐藏了子窗口,隐藏的窗口仍然出现在任务栏(WPF)中,如何从任务栏中隐藏打开的子窗口?
预先感谢
这是一个显示对话框的示例:
AlignLocalAxisView alignLocalAxisView = Container.Resolve<AlignLocalAxisView>(new ParameterOverride("model", AttributesSelectedItems));
OpenedWindowView = alignLocalAxisView;
alignLocalAxisView.Show();
答案 0 :(得分:3)
窗口应该有一个ShowInTaskBar
属性。
如果您的窗口是在XAML中定义的,则可以如下所示故意设置属性:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="MyApplication.MainWindow"
Title="MainWindow"
Height="350" Width="425"
ShowInTaskbar="False">
您也可以在您的代码后面进行设置:
this.ShowInTaskbar = false;
这也适用于通过名称调用后在代码中创建的窗口。
Window myNewWindow = new Window();
//Set the property to keep the window hidden in the task bar
myNewWindow.ShowInTaskbar = false;
//Then, show the window
myNewWindow.Show();
编辑:根据您的示例代码,以下应该起作用
AlignLocalAxisView alignLocalAxisView = Container.Resolve<AlignLocalAxisView>(new ParameterOverride("model", AttributesSelectedItems));
OpenedWindowView = alignLocalAxisView;
//Assuming your view extends the Window class, the following will work
alignLocalAxisView.ShowInTaskbar = false;
alignLocalAxisView.Show();
希望这足以解决问题。
不过,供以后参考,这是在Google上查找的一种相当快速的解决方案-通常值得首先寻找答案,因为它有时可能是解决问题的较快方法。
在这种情况下,我将您的问题改写为“在wpf中隐藏窗口的任务栏图标”。搜索中实际上不需要子窗口部分,因为WPF中的所有窗口基本上都相同。
我希望能有所帮助。