我有一個包含在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
的
截圖不起作用
你可以發佈(引擎收錄),顯示ViewportWidth不工作的主窗口的全部XAML代碼?因爲我編譯了我的代碼,調整了窗口大小,所以沒有任何問題。 – lisp
@lisp它只是一個標準窗口 - 您需要調整窗口大小(所以滾動條出現),然後滾動到右側 – Justin
正確。您可以多重綁定到ScrollViewer的ViewportWidth和ContentHorizontalOffset的總和,但與Clemens的解決方案相比,這將是不太複雜的。 – lisp