我有一个布局包含在 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
不起作用的屏幕截图