2009-12-11 83 views
1

我有一個Silverlight應用程序將用完瀏覽器。我希望佈局根據窗口大小調整大小。佈局由網格組成。這個網格有一個包含邊框的Canvas和其他控件。當窗口調整大小時,Canvas會正確調整大小。但是,Border控件似乎是一個固定的大小。如何將邊框控件拉伸到Canvas的寬度並調整窗口大小?我的代碼如下所示:Silverlight - 動態佈局

<Grid x:Name="LayoutRoot"> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition/> 
    <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 

    <Canvas x:Name="myCanvas" Background="Lime"> 
    <Border Canvas.Top="77" Border="Black" BorderThickness="2"> 
     <TextBlock x:Name="myTextBlock" /> 
    </Border> 
    </Canvas> 
</Grid> 

謝謝你的幫忙!

回答

1

假設您希望將Canvas綁定到第一個Grid.Column,那麼您可以添加RowDefinitions,然後將邊框移到Canvas之外,那麼以下代碼應該可以工作。

(僅限WPF中測試)

<Grid x:Name="LayoutRoot"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="77"/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <Canvas x:Name="myCanvas" Background="Lime" Grid.RowSpan="2"> 
    </Canvas> 

    <Border Grid.Row="1" Border="Black" BorderThickness="2" VerticalAlignment="Top"> 
     <TextBlock x:Name="myTextBlock" Text="Happy TEXT" /> 
    </Border> 
</Grid> 

新的東西:<Grid.RowDefinitions>Grid.RowSpan="2"帆布和Grid.Row="1"VerticalAlignment="Top"邊境。 添加文本以進行測試。