WPF 內建 Panel 功能基礎,常見場景支持不佳:
基於 StackPanel 行為,擴展以下屬性:
ItemMargin:控制項目間距Orientation:放置方向ItemExtraWidth/Height:Panel 寬裕時項目額外獲得的最大寬/高LastVisualChildFill:最後項目是否填充剩餘空間IsParticalItemHidden:剩餘空間不足完整顯示當前項目時隱藏ArrangeManager.ArrangeIndex:控制渲染順序Resizers:控制 Resize 時行為優先級
圖 1. Resize 最大狀態
圖 2. 縮小 ItemMargin
圖 3. 縮小項目附加寬度
圖 4. 隱藏不完全可見對象
<r:ResizerCollection>
<r:ExtraLengthResizer IsEnabled="True"/>
<r:ItemMarginResizer IsEnabled="True"/>
</r:ResizerCollection>
含義明確:可控制各 Resize 行為啟用與順序。上例先調整項目大小,再調整間距。設計尚嫌不夠優美,拋磚引玉。