3
我有一個用戶控件內彈出。該彈出窗口使用文本框來顯示控件生成的數據的文本預覽。如何使用TextBox填充其父項的Silverlight彈出窗口?
如何將彈出窗口大小本身製作爲用戶控件的內部?使用如下所示的代碼,我發現文本框的大小根據其內容而定,彈出窗口的大小根據文本框來確定。
它工作正常,如果我在我的行和列定義中使用固定大小,但我想要彈出調整自身以匹配用戶控件(它反過來匹配瀏覽器)。
<UserControl
<!-- usual stuff here -->
>
<Grid>
<!-- layout for the user control here -->
<!-- and after that my popup: -->
<Popup Name="MyPopup">
<Border BorderBrush="Black" BorderThickness="2" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="22"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Text="Preview:" Margin="5" ></TextBlock>
<TextBox
Grid.Row="1"
Name="MyTextBox"
IsReadOnly="True"
HorizontalScrollBarVisibility="Visible"
VerticalScrollBarVisibility="Visible"
TextWrapping="Wrap"
Margin="5"
>
</TextBox>
</Grid>
</Border>
</Popup>
</Grid></UserControl>
奇怪的是,我的寬度和高度都是'NaN',而我的ActualWidth和ActualHeight看起來很隨意。猜猜我需要閱讀有關佈局系統。不過,我可以證實,當我按照您的建議設定保證金屬性時,我會得到不同的結果,謝謝您的提示。 – Eric 2009-11-10 15:39:58