我有一个显示多声道信息的屏幕的布局(类似于音轨):
MultiChannelPlotterControl
底部包含一个HorizontalRuler
实例,包含N UniformGrid
个实例的SingleChannelPlotterControl
个实例; SingleChannelPlotterControl
都有一个VerticalRuler
左对齐的实例; 问题是:
UniformGrid
的一部分; 所以问题是:
我如何布局/元素绑定/设置这些控件的样式,使垂直标尺的右边缘与水平标尺的左边缘保持一致(适合最宽的标尺)和 ?
编辑:
我想我可以在SingleChannelPlotterControl
上创建一个“LeftPanelWidth”DependencyProperty,并在其getter上使用一些MultiChannelPlotterControl
向导来获取内部每个VerticalRuler的ActualWidths,但是我如何选择最大宽度并设置其他人的宽度?
答案 0 :(得分:0)
您可以尝试在列定义中使用SharedSizeGroup属性。您必须在正确的父容器上设置IsSharedSizeScope = True。
答案 1 :(得分:0)
我最终通过消除SingleChannelPlotterControl
类来解决问题。
相反,我使用两个并排UniformGrid
个实例(作为两个ItemsPanel
个实例的ItemsControl
),将ItemsSource
设置为相同{{1}在XAML中声明。
然后,对于每个CollectionViewSource
,我声明了一个不同的ItemsControl
,左边的一个包含ItemTemplate
,另一个用同样的方式显示信号VerticalRuler
以前 - 除了它不再包含标尺。