【问题标题】:How can I draw a horizontal line and center it?如何绘制一条水平线并将其居中?
【发布时间】:2011-05-31 12:50:33
【问题描述】:

这是我目前所拥有的。

手机垂直时:

手机横放时:

这是我的 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>

我想要一条与当前宽度相同但居中的线。但是当手机水平放置时,线条应该稍大一点,以解决可用空间更大的问题。

这可能吗?

【问题讨论】:

    标签: .net xaml windows-phone-7 line


    【解决方案1】:

    您可以通过使用边距而不是位置来调整内容的大小。

    如果使用 Line 无法做到这一点(我还没有真正检查过),您可以尝试使用 1 像素高(或者 4 像素高)的矩形。

    编辑:使用代码 sn-p:

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

    【讨论】:

    • 哇,效果比预期好。 :) 一旦计时器归零,我会将其标记为已解决。
    • @Sergio:我猜是这样,嗯...我添加了一个小 sn-p 以更好地表达我的意思。
    • 由于谷歌也为 Windows Phone 8 生产了这个,同样的可能但是从 ColinE 的下面的答案中借用你还需要指定 X2="1" 以便该行有 some 长度和Stretch="Fill" 以便您的短线填充由您的边距定义的区域。
    【解决方案2】:

    您可以使用Stretch 使您的Line 占据容器的整个宽度。您还可以使用左右边距在每一侧添加一点空间:

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

    【讨论】:

      【解决方案3】:

      第一个视图可能有点令人惊讶:线条(以及其他形状 - 矩形、椭圆......)是 FrameworkElements。您可以使用与 TextBlock 相同的方式处理它们,即设置尺寸、对齐方式、边距、不透明度、变换等。您甚至可以动画/绑定形状定义属性(例如 Line.X1),因为它们都是 DependencyProperties。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-02
        • 2015-09-14
        • 2013-11-29
        • 1970-01-01
        相关资源
        最近更新 更多