2011-03-22 30 views
0

WPF调整大小对象四下寻找一种方式来调整绑定与Windows不调整明确地告诉我的对象抢窗口的大小。与窗口

下面是代码:

<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

什么是问题? – 2011-03-22 16:50:20

+0

@Aviad - 噢,它不起作用 – 2011-03-22 16:53:49

回答

0

答案:问题不在于面板,但用于创建它的内容的API。

1

绑定您的高度/宽度到你的窗口的高度/宽度

<Window x:Name="Root_Window"> 
    <Grid Height="{Binding ElementName=RootWindow, Path=ActualHeight}" 
     Width="{Binding ElementName=RootWindow, Path=ActualWidth}"> 
     <!-- Content Here --> 
    </Grid> 
</Window> 
+0

wpf很新,你会怎么做? – 2011-03-22 16:53:28

+0

这不会调整网格的大小,里面的面板,就是我实际上是想调整 – 2011-03-22 16:58:30

+0

@Reza M.网格内的面板会自动展开,以填补所有可用空间 – Rachel 2011-03-22 17:29:39

2

只需拆除明确WidthHeight设置和HorizontalAlignmentVerticalAlignment设置,即:

<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" /> 

真的不确定它会工作,如果它不起作用的标记,尝试在代码中。

+0

你也可以删除'Grid'完全如果没有什么别的打算在那里的API。 – 2011-03-22 17:01:08

+0

是的,我已经试过了,问题在于:它只是调整负载,而不是调整窗口大小。 – 2011-03-22 17:01:20

+0

@丹 - 只是去尝试,但只有重新调整窗口时加载.... – 2011-03-22 17:04:36