假设您希望允许用户重新调整包含两列的 WPF/SL 网格的大小。但是您还希望允许用户隐藏一列(“面板”)或另一列。当显示两列(面板)时,还应显示 GridSplitter;否则不是。您还想使用没有代码隐藏的 MVVM 样式的绑定。也许您想在会话之间保留设置。您的视图模型中有这些属性:
布尔 IsPanelOneVisible
布尔 IsPanelTwoVisible
GridLength 拆分位置
那么我怎样才能只使用绑定来连接它呢?
请注意,当用户拖动 GridSplitter 时,网格列的宽度(通过绑定或自动设置)会被覆盖。
我读过的所有帖子(其中还包括几个 SplitContainer 实现)都没有正面解决这种情况。可以使用代码隐藏(响应事件)或视图模型上的其他属性来连接它。但我希望有一个更优雅的解决方案。
有任何想法吗?谢谢!