我有以下佈局用於顯示多頻道信息的屏幕(類似於音頻軌道):綁定佈局屬性
MultiChannelPlotterControl
包含在底部和含NSingleChannelPlotterControl
實例一個HorizontalRuler
實例UniformGrid
;- 每個
SingleChannelPlotterControl
有一個VerticalRuler
左對齊的實例;
的問題是:
- 每個垂直標尺可以有不同的寬度,但我想他們都伸展到最大寬度,使他們能夠適應,但由於它們如果我決定將它們放在一個不同的容器中,它們將不再是
SingleChannelPlotterControl
的一部分; - 左下角有一個矩形區域。這應該與VerticalRuler具有相同的寬度,但在佈局樹中它仍然更高。它目前是空的,但我可以在那裏放一些東西並綁定它的寬度,例如;
所以,問題是:
我怎麼能佈局/元素綁定/風格這些控制,使得垂直標尺的右邊緣一直相互對齊(擬合的最寬)和與水平尺的左邊緣?
編輯: 我想我可以在MultiChannelPlotterControl
創建一個「LeftPanelWidth」的DependencyProperty,並在其吸氣劑使用的一些VisualTreeHelper
巫術得到ActualWidths爲每VerticalRuler裏面,但我會如何選擇最大寬度並設置寬度其他?
感謝您的回答!我沒有列定義。 SingleChannelPlotter控件的容器是具有單列的UniformGrid。每個SingleChannelPlotter控件的LayoutRoot都是一個DockPanel,其第一個子項是VerticalRuler控件。因此,每個VerticalRuler都有自己的寬度,並且不知道其「兄弟」的存在。我想要的是將它們全部綁定在一起以獲得列的_visual effect_的方式。 – heltonbiker
然後,也許最簡單的方法是用網格替換你的DockPanel(你應該能夠得到完全相同的佈局)。然後,您將能夠使用SharedSizeGroup定義第一列。如果您需要更多幫助,只需粘貼您的xaml代碼,以便我可以幫助您做到您想要的。 – Jams