【问题标题】:How to set XAML Width in percentage?如何以百分比设置 XAML 宽度?
【发布时间】:2013-03-24 23:31:22
【问题描述】:

我正在尝试在 XAML 中创建一个宽度为 80% 的按钮,但我似乎不知道如何操作。这显然不像使用 Width="80%" 那样容易。我一直认为这可以通过以某种方式检测屏幕宽度并将其乘以 0.8 并将其用作宽度来完成,但我不确定如何在 XAML 中做到这一点。也许这必须在 .cs 文件中完成,然后从那里调整宽度。有人对此有解决方案吗?

【问题讨论】:

    标签: c# .net visual-studio xaml width


    【解决方案1】:

    我认为更合适的方法是

    <Grid>
      <Grid.ColumnDefinitions>
        <ColumnDefinition Width="2*"></ColumnDefinition>
        <ColumnDefinition Width="10*"></ColumnDefinition>
      </Grid.ColumnDefinitions>
      <Button Grid.Column="1" Grid.Row="0"></Button>
    </Grid>
    

    像bootstrap一样的12个网格分布,只看你的喜好

    【讨论】:

      【解决方案2】:

      是 WPF 吗?

      如果是,则将您的控件(按钮)包装在网格中。然后指定网格列定义。 示例:

      <Grid>
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="0.2*"></ColumnDefinition>
          <ColumnDefinition Width="0.8*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <Button Grid.Column="1" Grid.Row="0"></Button>
      </Grid>
      

      编辑: 忘记关闭&lt;Button&gt; 标签。

      【讨论】:

      • 错误 3 'Button' 类型的值无法添加到 'ColumnDefinitionCollection' 类型的集合或字典中。即使没有将 Grid 属性添加到按钮,我也会收到该错误。一旦我写了网格。 intelliSense 只给我 d:、local:、mc:、x:、xml: 和 xmlns 作为有效选择。试图弄清楚这个 WPF 是否,但它是 AFAIK。
      • 也许我需要在 部分包含/使用?我的意思是添加一个架构?
      • 不要在 块中输入您的按钮。将其放在 块中,但不在 块中。
      • 万岁玛丽,你是圣人,我很惭愧。无法正确遵循 7 行指令。
      • @Tom 很高兴它成功了。第一次学习 WPF 很痛苦
      猜你喜欢
      • 2013-03-12
      • 2012-10-03
      • 2013-05-25
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      • 2018-08-09
      相关资源
      最近更新 更多