【问题标题】:Display a line after a TextBlock in Silverlight在 Silverlight 中的 TextBlock 之后显示一行
【发布时间】:2010-05-14 18:23:02
【问题描述】:

我正在使用 Silverlight 4 中的数据表单,并希望按部分对元素进行分组,并为每个元素设置一个标题。标题由 TextBlock 后跟一条水平线组成。这条线一直延伸到表格的边缘。

我尝试了以下方法(来自此线程:http://forums.silverlight.net/forums/p/77813/183885.aspx),但没有成功:

<StackPanel Orientation="Horizontal"/>
    <TextBlock Text="Section title" />
    <Line X1="0" Y1="0" X2="1" Y2="0" Stretch="Fill" Stroke="Black" />
</StackPanel>

知道为什么这不起作用吗?

谢谢!

【问题讨论】:

    标签: silverlight xaml


    【解决方案1】:

    使用边框代替高度为 1 怎么样

    【讨论】:

    • 它也可以在堆栈面板中工作,您可能只需要设置大小。网格可能正在为您设置边框宽度。
    • 将 Horizo​​ntalAlignment="Stretch" 添加到堆栈面板
    【解决方案2】:

    我对你的帖子很好奇,所以我自己试了一下。使用 StackPanel 时,我也无法拉伸线条。虽然,我能够让它与网格一起工作:

    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="20"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="100"/>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
    
        <TextBlock Grid.Row="0" Grid.Column="0" Text="Section title" HorizontalAlignment="Right" VerticalAlignment="Center" />
        <Line Grid.Row="0" Grid.Column="1" X1="0" Y1="0" X2="1" Y2="0" Stretch="Fill" Stroke="Black" StrokeThickness="1" />
    </Grid>
    

    【讨论】:

    • 我已经在子窗口中尝试了您的代码。它在 XAML 设计器中呈现良好。然而,在运行时,子窗口会填满整个屏幕(水平方向)。解决方法:在 ChildWindow 控件上设置一个固定的宽度/高度。这不是很好。我还没有找到一种方法让它在没有硬编码尺寸的情况下工作..(设置第二列的宽度也可以)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多