假設您希望允許用戶重新設置包含兩列的WPF/SL Grid。但是你也希望允許用戶隱藏一列(「面板」)或另一列。當顯示兩欄(面板)時,還應顯示GridSplitter;否則不。您還希望使用MVVM式的綁定,而不使用代碼隱藏。也許你想在會話之間堅持設置。您的視圖模型這些屬性:如何使用WPF/SL Grid和GridSplitter作爲可綁定的SplitContainer?
布爾IsPanelOneVisible
布爾IsPanelTwoVisible
GridLength SplitPosition
那麼如何才能只使用綁定我這樣組裝起來?
請注意,當用戶拖動GridSplitter時,網格列的寬度(通過綁定或Auto設置)會被覆蓋。
沒有任何我已閱讀的帖子(其中還包括一些SplitContainer實現)解決了這種情況。人們可以使用代碼隱藏(對事件作出響應)或視圖模型上的其他屬性進行連線。但我希望有一個更優雅的解決方案。
任何想法?謝謝!