c# - WPF控件的动态布局取决于某些条件

标签 c# wpf layout

我正在使用 WPF,但在布局方面遇到了问题。我有一个停靠面板(非 WPF,我只是在里面托管了我的控件)。当用户希望将此面板停靠在屏幕的左侧或右侧时,我需要以一种方式布局我的控件。但是当用户希望将此面板停靠在顶部或底部时,我需要以另一种方式布局我的控件。

我的问题是实现 WPF 控件动态布局的最佳方式是什么,这取决于某些条件?

我知道,我可以使用网格并动态更改控件在网格内的位置。但我对这个解决方案并不满意。我正在寻找没有代码干预的解决方案,只有 xaml。如果这是不可能的,至少要对代码进行最少的干预。

提前致谢。

最佳答案

你可以使用 AvalonDock得到一个非常像 Visual Studio 的对接系统。
这将使您的用户可以完全控制他们想要的布局,而且实现起来并不难。

但如果您真的想要一个快速的方法来做到这一点,我建议将 DockPanel.Dock 属性绑定(bind)到一个根据用户输入而改变的 ViewModel 值(以及一个 IValueConverter 如有必要)。

关于c# - WPF控件的动态布局取决于某些条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928497/

相关文章:

android - 在动态空间中均匀分布多个项目

wpf - 调用 `Show()` 时任务栏上显示错误窗口

java - 在布局之间添加阴影

c# - 松耦合类

c# - 锁定语句 block 中的异步方法

c# - 将 ActionFilterAttribute 应用于整个 WebAPI?

c# - 从数组构建 if 条件

wpf - XAML:多次设置属性 'Resources'

c# - SQLite 异常 : file is encrypted or is not a database

java - 嵌套的 JScrollPane 不适合