我正在使用 WPF,但在布局方面遇到了问题。我有一个停靠面板(非 WPF,我只是在里面托管了我的控件)。当用户希望将此面板停靠在屏幕的左侧或右侧时,我需要以一种方式布局我的控件。但是当用户希望将此面板停靠在顶部或底部时,我需要以另一种方式布局我的控件。
我的问题是实现 WPF 控件动态布局的最佳方式是什么,这取决于某些条件?
我知道,我可以使用网格并动态更改控件在网格内的位置。但我对这个解决方案并不满意。我正在寻找没有代码干预的解决方案,只有 xaml。如果这是不可能的,至少要对代码进行最少的干预。
提前致谢。
最佳答案
你可以使用 AvalonDock得到一个非常像 Visual Studio 的对接系统。
这将使您的用户可以完全控制他们想要的布局,而且实现起来并不难。
但如果您真的想要一个快速的方法来做到这一点,我建议将 DockPanel.Dock
属性绑定(bind)到一个根据用户输入而改变的 ViewModel 值(以及一个 IValueConverter
如有必要)。
关于c# - WPF控件的动态布局取决于某些条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7928497/