相对设置Silverlight文本框控件的宽度

问题描述 投票:0回答:2

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

由于我是Silverlight的新手,所以我甚至不确定这是否可行,但是我试图找出是否有可能将Silverlight文本框控件的width值与其直接父容器成比例地设置?

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

这是否有可能在您的xaml标记中声明性地执行,或者我需要诉诸某些事件处理程序附加的代码隐藏来完成此操作?

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

预先感谢,约翰

xaml silverlight textbox size width
2个回答
2
投票

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

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

只需将列定义宽度设置为与您的需求成比例。如果需要特定的宽度,请省略*(星号)。如果要成比例,请添加*(星号),然后使用所需的任何方案来确定比例(它们可以累加为所需的任何数字)。在我的示例中,数字加起来为100。但是您可以使用小数或其他形式。


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.