环顾四周寻找一种方法来调整窗口大小调整大小而不明确告诉我的对象抓住窗口大小。
以下是代码:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WindowsFormsHost Background="{x:Null}" Grid.Row="0" Grid.Column="0" HorizontalAlignment="Left" Name="windowsFormsHost1" VerticalAlignment="Top" Margin="-1,0,0,0">
<wf:Panel x:Name="pnlLivePreview" />
</WindowsFormsHost>
</Grid>
接着是示例显示here
编辑:问题:为什么面板不会随窗口大小调整?
答案 0 :(得分:2)
只需删除明确的Width
和Height
设置,以及HorizontalAlignment
和VerticalAlignment
设置,即可:
<WindowsFormsHost Background="{x:Null}"
Name="windowsFormsHost1"
Margin="-1,0,0,0">
<wf:Panel x:Name="pnlLivePreview" />
</WindowsFormsHost>
我会在这里猜测,但由于这是一个WinForms
面板,请尝试将其Dock
属性设置为Fill
,因此:
<wf:Panel x:Name="pnlLivePreview" Dock="Fill" />
真的不确定它是否会起作用,如果它在标记中不起作用,请尝试在代码中进行。
答案 1 :(得分:1)
将您的高度/宽度绑定到窗口的高度/宽度
<Window x:Name="Root_Window">
<Grid Height="{Binding ElementName=RootWindow, Path=ActualHeight}"
Width="{Binding ElementName=RootWindow, Path=ActualWidth}">
<!-- Content Here -->
</Grid>
</Window>
答案 2 :(得分:0)
答案:问题不在于面板,而是api用来创建它的内容。