我目前正在研究一個包含窗口的項目,該窗口需要顯示1到9個用戶控件。wpf智能電網布局
我正在尋找最佳方法來確保所選用戶控件的數量可用的全部空間。
例如如果選擇了9個項目,則會顯示3 x 3的網格。但是,如果選擇8,那麼2行將顯示3行,下面的行將顯示2行。 (使用colspan)。
我一直在試圖使用一個統一的網格,因爲這看起來好像大多數期望的行爲已經存在。 (按順序添加顯示項目,自動調整窗口大小)。然而,當所選項目的數量不能被3整除時,我正在努力實現某種形式的智能!
有沒有人遇到過這個問題?或者可以建議一個合適的方法來解決問題?
謝謝!
我將使用包裝面板進行調查,並將對象的寬度設置爲包裝面板大小的1/3。我將不得不檢查項目計數的mod來計算最後的項目寬度。謝謝。 – seanzi
最後,我想出了一個使用包裝面板的解決方案,每次將項目添加到面板時。我計算每行的行數和控件數量,並將每個項目的高度和寬度設置爲面板高度和寬度的一小部分。 – seanzi
@ UniformGrid的Rachel完成了與您所描述的相同的事情,但我認爲它更靈活,因爲它不需要任何硬編碼的值(通過XAML)或任何背後的代碼。只需設置Columns的數量並自動計算寬度。 – Dave