我有一个包含ScrollViewer
在其中的布局,我需要在其中绘制一条延伸到容器全宽的水平虚线。我管理的最接近的是以下
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel>
<Button Width="400" Height="50" VerticalAlignment="Top" Margin="10" />
<Line HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Stroke="Black"
X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
StrokeDashArray="2 2" StrokeThickness="1" />
</StackPanel>
</ScrollViewer>
这几乎可以工作,但是一旦容器(在我的情况下是一个窗口)被放大,当容器缩小时,线条不会缩小到适当的大小。下面是我在上下水平调整窗口大小后同一窗口的屏幕截图。
请注意,线是虚线这一事实很重要,因为这意味着涉及拉伸线的解决方案不起作用(虚线似乎被拉伸)。
我知道这是因为X2="{Binding ActualWidth, RelativeSource={RelativeSource Self}}"
绑定(根据设计,这条线始终是可滚动区域中最宽的东西,所以当我将窗口缩小到可滚动区域时,这条线定义了可滚动区域的宽度),但是我不能想一个解决办法。
我该如何解决这个问题?
为什么使用ViewportWidth
不起作用的屏幕截图