Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF。是否可以在某些上下文上方显示停靠窗口(使用自动隐藏状态排除)?_C#_Wpf_Syncfusion - Fatal编程技术网

C# WPF。是否可以在某些上下文上方显示停靠窗口(使用自动隐藏状态排除)?

C# WPF。是否可以在某些上下文上方显示停靠窗口(使用自动隐藏状态排除)?,c#,wpf,syncfusion,C#,Wpf,Syncfusion,这是仪表板视图 目标:设置按钮必须打开dock窗口(Syncfusion的UI控件),如果dock窗口隐藏,则在该窗口中加载应用程序的设置。否则,关闭停靠窗口。和停靠窗口必须出现在仪表板上方。只有按下设置按钮,停靠窗口才能消失 我已经做了部分设置按钮打开和关闭停靠窗口。只有按下“设置”按钮才能出现和消失,但当“停靠窗口”出现时,视图的布局会变成这样(停靠状态处于使用状态): 我发现实现仪表板上方停靠窗口外观的唯一方法是使用自动隐藏状态。但在这种情况下,如果您将鼠标从停靠窗口移动,停靠窗口将自

这是仪表板视图

目标:设置按钮必须打开dock窗口(Syncfusion的UI控件),如果dock窗口隐藏,则在该窗口中加载应用程序的设置。否则,关闭停靠窗口。和停靠窗口必须出现在仪表板上方。只有按下设置按钮,停靠窗口才能消失

我已经做了部分设置按钮打开和关闭停靠窗口。只有按下“设置”按钮才能出现和消失,但当“停靠窗口”出现时,视图的布局会变成这样(停靠状态处于使用状态):

我发现实现仪表板上方停靠窗口外观的唯一方法是使用自动隐藏状态。但在这种情况下,如果您将鼠标从停靠窗口移动,停靠窗口将自动消失

如果您需要在仪表板视图的XAML中:

<syncfusion:DockingManager>
    <syncfusion:DockingManager.ClientControl>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="2*"/>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>

            <Border Grid.Row="1">
                <ContentControl prism:RegionManager.RegionName="OrdersRegion"/>
            </Border>

            <Border Grid.Column="1" Grid.Row="1">
                <TextBlock Text="Customers region" FontSize="20"/>
            </Border>

            <Border Grid.Column="2" Grid.Row="1">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>

                    <Border>
                        <TextBlock Text="Employees region" FontSize="15"/>
                    </Border>

                    <Border Grid.Row="1">
                        <TextBlock Text="Products region" FontSize="15"/>
                    </Border>
                </Grid>
            </Border>
        </Grid>
    </syncfusion:DockingManager.ClientControl>

    <ContentControl prism:RegionManager.RegionName="OrdersSettingsRegion" 
                    syncfusion:DockingManager.SideInDockedMode="Right"
                    syncfusion:DockingManager.State="{Binding CurrentDockState}"
                    syncfusion:DockingManager.DesiredWidthInDockedMode="400"/>
</syncfusion:DockingManager>


有可能完全实现我的目标吗?如果是,请说明如何操作。

我不使用SyncFusion,因此这可能不相关。但使用原始WPF,这将是一个简单的例子,将设置面板放置在主显示器上方的自己的网格中,这样就不会影响布局。 例如


感谢您联系Syncfusion支持部门

我们已检查您关于“如果您将鼠标从停靠窗口移动,停靠窗口将自动消失”的查询

我们附加了一个简单的视频,通过使用SetFloatingWindowRect属性单击设置按钮,使用仪表板中间的NativeFloatWindow,并在再次按下按钮时隐藏同一窗口

示例链接:
视频链接:

当窗口处于自动隐藏模式时,当焦点位于该窗口内时,该窗口将打开。当焦点丢失时(在自动隐藏窗口外单击),窗口将自动隐藏。请参阅随附的视频

视频链接:

单击“锁定”按钮,可以将窗口从“自动隐藏”模式切换到“停靠”状态。固定或停靠时,其他停靠窗口的布局将更改,以便为停靠窗口分配空间。您可以再次单击pin按钮将状态从Dock更改为AutoHide

视频链接:

问候,, 尼兰詹·库马尔

<Grid>
   <MainDisplay>

   <!-- this will appear above MainDisplay -->
   <SettingsPanel Horizontal Alignment="Right" />
<Grid>