C# WPF窗口立即最小化

C# WPF窗口立即最小化,c#,wpf,c++-cli,C#,Wpf,C++ Cli,解决方案 我被要求使用WPF窗口模拟windows窗体上下文菜单。当用户单击某个区域时,我创建了一个窗口,但该窗口立即最小化到任务栏。我需要它保持在其他窗口的顶部,至少直到它失去焦点或被停用。它的窗口样式为“无”,并且它的“在任务栏中显示”属性是否为true并不重要。类似的问题也存在,但在我的情况下,它们似乎解决不了任何问题。为什么会有这种奇怪的行为?有解决办法吗 <Window x:Class="InterceptRouteWindow" xmlns="http://s

解决方案

我被要求使用WPF窗口模拟windows窗体上下文菜单。当用户单击某个区域时,我创建了一个窗口,但该窗口立即最小化到任务栏。我需要它保持在其他窗口的顶部,至少直到它失去焦点或被停用。它的窗口样式为“无”,并且它的“在任务栏中显示”属性是否为true并不重要。类似的问题也存在,但在我的情况下,它们似乎解决不了任何问题。为什么会有这种奇怪的行为?有解决办法吗

<Window x:Class="InterceptRouteWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  Width="200" ResizeMode="NoResize" SizeToContent="Height" ShowInTaskbar="False" Loaded="Window_Loaded" WindowStyle="None" Height="auto" Deactivated="Window_Deactivated">


        <StackPanel Height="auto" Name="stackPanel1" Width="200" Background="WhiteSmoke">
             <Separator Height="5"  FlowDirection="LeftToRight">
               <Separator.Background>
                 <SolidColorBrush />
               </Separator.Background>
            </Separator>
      </StackPanel>
</Window>

这是由旧应用程序(MFC和WindowsForms的混合应用程序)中的单击事件触发的。。不是我的代码,我必须遵守他们的设计,尽可能地使用WPF。

我们需要更多数据才能提供帮助……您需要按z索引对窗口进行排序吗?当通过gcnew创建并显示窗口时,它会立即停用,失去焦点,z索引非常低。所以我认为按z排序不会有多大帮助,因为它的焦点丢失了。。还是会,我一点也不确定!?通过删除一半自定义属性值,对问题进行二进制搜索。如果问题仍然存在,请删除剩余的一半。如果问题消失了;然后你缩小了你的问题范围。
 IRWindow = gcnew InterceptRouteWindow(routes, fpId, offsetPoint.x, offsetPoint.y);
 GetMainFrame()->IRWindow->Show();