【问题标题】:WPF - Margin in percentageWPF - 保证金百分比
【发布时间】:2011-04-23 21:36:36
【问题描述】:

我刚刚开始使用 WPF。从那以后,我开始关注造型系统。我来自 CSS 背景,我想以百分比设置边距。

    <Style TargetType="TextBlock" x:Key="workflowNameTextBlock">            
        <Setter Property="Margin" Value="50"/>            
    </Style>

当前值以像素为单位设置,但我想将其设置为 %,即 50%。

我怎样才能做到这一点?

谢谢

【问题讨论】:

    标签: wpf silverlight margin styling


    【解决方案1】:

    以下是在 WPF 中实现 20% 左右边距的方法:

    <Grid>
       <Grid.ColumnDefinitions>
          <ColumnDefinition Width="2*"/>
          <ColumnDefinition Width="6*"/>
          <ColumnDefinition Width="2*"/>
       </Grid.ColumnDefinitions>
       <TextBlock Grid.Column="1" Text="Hello, world."/>
    </Grid>
    

    如果您尝试在 WPF 中重新实现一个简单的 CSS 布局,这可能看起来非常冗长,但这是因为实现简单的 CSS 布局实际上并不是 WPF 设计的问题空间。

    【讨论】:

    • 我们也可以使用 Margin="2*,6*,2*,5*" 吗?
    • Afaik,星号大小仅适用于网格列和行定义。这似乎有点矫枉过正,但在 XAML 中使用星形大小的行和列的网格是这样做的。
    【解决方案2】:

    您可以通过网格来代替使用边距。

    只需将您的控件放在一个 Grid 元素中,并使用 3 列和 3 行。列/行大小可以作为包含元素的百分比来完成。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-29
    • 2018-11-02
    • 2022-01-24
    • 2013-10-30
    • 2016-04-14
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多