【问题标题】:Fieldset in Winrt/XAMLWinrt/XAML 中的字段集
【发布时间】:2014-05-31 05:50:29
【问题描述】:

我需要在 WinRT/XAML 中创建类似于 HTML fielset 的内容。 http://jsfiddle.net/Sf2Vy/

基本上,我有一个边框,边框顶部有一些文字。在文本覆盖边框的地方,我需要边框不显示在文本下方。边框后面的背景不是纯色,所以我不能只设置文本的背景颜色。文本长度也是可变的。

有没有简单的方法可以做到这一点?

【问题讨论】:

  • WinRT 中没有 GroupBox 吗? (see here)

标签: xaml windows-runtime winrt-xaml


【解决方案1】:

是的,所以,答案是否定的。没有字段集。

话虽如此,我认为您可以很简单地制作出类似的效果。下面的代码向您展示了一个解决方案,该解决方案可以轻松地包含在名为 fieldset 的自定义用户控件中。

<Grid Width="500" VerticalAlignment="Center">

    <!-- top fieldset thing -->
    <Grid VerticalAlignment="Top">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="35" />
            <ColumnDefinition Width="Auto" />
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.Resources>
            <Style TargetType="Border">
                <Setter Property="VerticalAlignment" Value="Top" />
                <Setter Property="BorderThickness" Value="0,5,0,0" />
                <Setter Property="BorderBrush" Value="white" />
                <Setter Property="Margin" Value="0,-2,0,0" />
            </Style>
            <Style TargetType="TextBlock">
                <Setter Property="Margin" Value="10,-15,10,0" />
                <Setter Property="FontSize" Value="30" />
            </Style>
        </Grid.Resources>
        <Border Grid.Column="0" />
        <TextBlock Grid.Column="1" Text="User Info" />
        <Border Grid.Column="2" />
    </Grid>

    <!-- regular form fields -->
    <Border BorderBrush="White" BorderThickness="5,0,5,5">
        <StackPanel Margin="20">
            <TextBox Header="Salutation" />
            <TextBox Header="First Name" />
            <TextBox Header="Middle Name" />
            <TextBox Header="Last Name" />
            <Button Margin="0,5,-3,0" HorizontalAlignment="Right">Save Data</Button>
        </StackPanel>
    </Border>

</Grid>

看起来像这样:

这不是 100% 完美的 - 或者,也许......它是。

祝你好运!

【讨论】:

  • 我想我必须做几行或其他事情而不是单个边框,但不确定我是否可以像这样简单的方式做到这一点。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 2012-09-09
  • 1970-01-01
  • 2014-03-09
相关资源
最近更新 更多