【问题标题】:Setting a Silverlight textbox control's width relatively相对设置 Silverlight 文本框控件的宽度
【发布时间】:2011-02-02 17:53:49
【问题描述】:

我尝试在 stackoverflow 上搜索我的问题的答案,但似乎找不到任何相关内容。

由于我对 Silverlight 比较陌生,我什至不确定这是否可行,但我想弄清楚是否可以将 Silverlight 文本框控件的宽度值与其直接父容器成比例地设置?

最好避免硬编码宽度值。假设您想在水平对齐的 StackPanel 控件中放置一个文本框控件,并使其宽度始终动态调整为 StackPanel 总宽度的 80%。

这是否可以在您的 xaml 标记中以声明方式执行,还是我需要借助一些附加到某个事件处理程序的代码隐藏来完成此操作?

仅供参考,我目前正在使用 Visual Web Developer Express 2008 来编写我的 silverlight 代码。

提前致谢, 约翰

【问题讨论】:

    标签: xaml silverlight textbox size width


    【解决方案1】:

    使用网格而不是堆栈面板。这样的事情会奏效。

    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="80*" />
            <ColumnDefinition Width="20*" />
        </Grid.ColumnDefinitions>
        <TextBox Grid.Column="0" />
    </Grid>
    

    只需将列定义宽度设置为与您的需求成比例。如果您需要特定宽度,请忽略 *(星号)。如果你想要比例,添加一个*(星号)并使用你想要的任何方案来确定比例(它们可以加起来你想要的任何数字)。在我的示例中,数字相加为 100。但您可以使用小数或其他数字。

    【讨论】:

      【解决方案2】:

      听起来您想要&lt;Grid&gt; 而不是&lt;StackPanel&gt;。只需将 TextBox 放入宽度设置为 .8 的列中即可。

      【讨论】:

        猜你喜欢
        • 2011-08-31
        • 2018-06-01
        • 2012-09-13
        • 1970-01-01
        • 2012-04-30
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 2012-12-11
        相关资源
        最近更新 更多