Dot-Net

如何繪製一條水平線並將其居中?

  • September 23, 2018

這是我到目前為止所擁有的。

當手機垂直時:

在此處輸入圖像描述

手機橫放時: 在此處輸入圖像描述

這是我的 XAML 標記:

<StackPanel Margin="19 0 19 5">
   <Grid>
       <Grid.ColumnDefinitions>
           <ColumnDefinition Width="110" />
           <ColumnDefinition />
       </Grid.ColumnDefinitions>

       <Image Grid.Column="0" Source="{Binding ImageUrl}" 
               Stretch="Uniform"
               Margin="0 10 0 10"/>

       <StackPanel Grid.Column="1" Margin="14 0 0 0">
           <TextBlock Text="{Binding Title}" 
                       FontSize="30" />
           <TextBlock Text="{Binding ReleaseDate}" 
                       FontSize="22"
                       Foreground="#E0A655"/>
           <TextBlock Text="{Binding Synopsis}"
                       FontSize="22"
                       TextWrapping="Wrap"/>
       </StackPanel>                                                        
   </Grid>
   <Line StrokeThickness="4" Stroke="#434343" X1="0" X2="350"
       Y1="13" Y2="13" />
</StackPanel>

我想要一條與目前寬度相同但居中的線。但是,當手機水平放置時,線條應該稍大一些,以解決可用空間更大的問題。

這可能嗎?

您可以通過使用邊距來調整內容而不是位置來進行這種調整。

如果 Line 無法做到這一點(我還沒有真正檢查過),您可以嘗試使用 1 像素高(或 4 像素高)的矩形。

編輯:使用程式碼片段:

<Line HorizontalAlignment="Stretch" Margin="50, 10, 50, 10" Stroke="Black" StrokeThickness="4" />

您可以使用Stretch使您Line佔據容器的整個寬度。您還可以使用左/右邊距在每一側添加一點空間:

<Line X1="0" X2="1" Stretch="Fill" Margin="20,0,20,0"/>

引用自:https://stackoverflow.com/questions/6187828