首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF。这是否可能在某些上下文(使用自动隐藏状态排除)之上显示Dock窗口?

WPF。这是否可能在某些上下文(使用自动隐藏状态排除)之上显示Dock窗口?
EN

Stack Overflow用户
提问于 2019-12-05 19:23:01
回答 2查看 470关注 0票数 0

这是仪表板视图

目标:设置按钮必须打开停靠窗口(Syncfusion`s控件),如果停靠窗口隐藏,应用程序的设置将被加载。否则,关闭船坞窗口。而停靠窗口必须出现在仪表板上方。只能通过按设置按钮才能使停靠窗口消失。

我已经做了部分了。设置按钮打开并关闭船坞窗口。只有按设置按钮才会出现外观和消失,但是当停靠窗口出现时,视图的布局会变成这样(使用中的船坞状态):

我发现实现仪表板上方的坞窗口外观的唯一方法是使用AutoHide状态。但在这种情况下,如果从码头窗口移动鼠标,码头窗口就会自动消失。

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

代码语言:javascript
运行
复制
<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>

是否有可能完全实现我的目标?如果是,请告诉我怎么做。

EN

回答 2

Stack Overflow用户

发布于 2019-12-06 12:08:24

我不使用SyncFusion,所以这可能与此无关。但使用原始WPF,这将是一个简单的情况,将您的设置面板放置在它自己的网格之上的主显示器,以便它不会影响布局。例如:

代码语言:javascript
运行
复制
<Grid>
   <MainDisplay>

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

Stack Overflow用户

发布于 2019-12-17 06:20:36

谢谢你联系同步支持。

我们检查了您关于“码头窗口自动消失,如果您从码头窗口移动鼠标”的查询。

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

示例链接: https://www.syncfusion.com/downloads/support/directtrac/257566/ze/DockingDashBoard-1248510496

视频链接: https://www.syncfusion.com/downloads/support/directtrac/257566/ze/Float856501553

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

视频链接: https://www.syncfusion.com/downloads/support/directtrac/257566/ze/ScreenCapture_12-10-2019_1.59PM1683466041

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

视频链接: https://www.syncfusion.com/downloads/support/directtrac/257566/ze/DockAndAutoHide1206235360

你好,Niranjan Kumar

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59202002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档