2011-03-22 45 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