У меня есть всплывающее окно в пользовательском элементе управления. Всплывающее окно использует TextBox для отображения текстового предварительного просмотра данных, созданных элементом управления.
Как сделать сам размер всплывающего окна для пользовательского элемента управления, внутри которого он находится? С кодом, показанным ниже, я нахожу, что текстовое поле имеет размер в соответствии с его содержимым, а всплывающее окно имеет размер в соответствии с текстовым полем.
Это прекрасно работает, если я использую фиксированные размеры в определениях строк и столбцов, но я бы хотел всплывающее окно, чтобы изменить его размер в соответствии с пользовательским элементом управления (который, в свою очередь, соответствует браузеру).
<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>