2010-03-31 57 views
0

我試着在stackoverflow上搜索我的問題的答案,但似乎無法找到任何相關的東西。因爲我對Silverlight相對比較陌生,我甚至不確定這是否可能,但我想知道是否可以根據它的直接父容器來設置Silverlight文本框控件的寬度值?相對設置一個Silverlight文本框控件的寬度

這將是很好,以避免硬編碼的寬度值。假設你想在一個水平對齊的StackPanel控件中放置一個文本框控件,並且它的寬度總是被動態地調整爲StackPanel總寬度的80%。

這是可能的在你的xaml標記中聲明地做,或者我需要求助於一些附加到一些事件處理程序的代碼隱藏來完成這個?

fyi,我目前使用Visual Web Developer Express 2008編寫我的Silverlight代碼。

在此先感謝, 約翰

回答

2

使用網格而不是堆疊面板。像這樣的東西會奏效。

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

只需將columndefinition寬度設置爲與您的需求成正比。如果你想要一個特定的寬度,忽略*(星號)。如果你想比例,添加一個*(星號),並使用任何你想要的方案來確定比例(他們可以加起來你想要的任何數字)。在我的例子中,數字增加到100.但是你可以使用小數或其他。

1

這聽起來像你想<Grid>而不是<StackPanel>。只需將TextBox放入寬度設置爲.8的列中即可。

相關問題