我有一个用户控件,我正在动态加载到一个Window中 - 我想设置Window以使它没有大小然后我认为窗口根据UserControl相应地调整大小。但它不是 - 有人可以帮忙吗?
我做了一个非常基本的例子 - 我已经删除了动态位,只是将一个UserControl放在一个Window中。为了让UserControl周围的窗口紧张,我需要做些什么?
谢谢,
安迪
<UserControl x:Class="WpfApplication1.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300" Background="LightBlue">
<Grid>
</Grid>
</UserControl>
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:WpfApplication1="clr-namespace:WpfApplication1" Title="Window1" >
<Grid>
<WpfApplication1:UserControl1>
</WpfApplication1:UserControl1>
</Grid>
</Window>
答案 0 :(得分:6)
尝试在您的窗口上将 SizeToContent 设置为 WidthAndHeight 。
请参阅MSDN Page
答案 1 :(得分:0)
尝试将Width和Height设置为Auto,或设置SizeToContent = WidthAndHeight。
答案 2 :(得分:0)
一旦知道控件的大小,就必须更新窗口的大小。我不确定是否有任何方法强制窗口自动调整大小,除非你有代码这样做。
检查this out以了解您需要知道的所有内容以及其他内容。
答案 3 :(得分:0)
不确定这是否有帮助,但我首先要制作Window:
Height="Auto" Width="Auto"
如果单独这样做,我会添加一个网格行和列
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
然后我会设置
<WpfApplication1:UserControl1 Grid.Row="0" Grid.Column="0" />
不是100%肯定这是否会起作用,但值得一试,因为这就是我在我身边所做的事情并且有效。