2010-10-23 67 views
0

我想製作一個顯示新聞項目的控件。有一張圖片可以以任意大小顯示,但控件可以裁剪爲正方形。還有一個標題和傳情。Silverlight:如何在XAML中正確設置高度?

標題和圖像將在同一垂直級別。該預告片將在他們之下:

the story control

我希望控件垂直拉伸以適應任何傳情和標題文字。

此外,如果沒有圖像存在,我希望文字向右滑動。

這裏是XAML我目前正在使用:

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Image x:Name="Thumbnail" Width="89" HorizontalAlignment="Left" VerticalAlignment="Top" /> 
    <TextBlock x:Name="Headline" Margin="93,0,0,0" Style="{StaticResource PhoneTextAccentStyle}" TextWrapping="Wrap" HorizontalAlignment="Left" Width="299" FontSize="23.333" VerticalAlignment="Top" /> 
    <TextBlock x:Name="Teaser" HorizontalAlignment="Left" Margin="4,100,0,0" Style="{StaticResource PhoneTextSubtleStyle}" TextWrapping="Wrap" VerticalAlignment="Top" Width="384"/> 
</Grid> 

難道我想被控制與Grid行和列的佈局?或者我想使用利潤率?如果標題很短,並且沒有圖像,我怎麼能確定傳情文本會向上滑動以填滿空白空間?

回答

1

不建議使用邊距進行佈局。您可以使用具有兩列和兩行的網格:

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"/> 
     <ColumnDefinition Width="*"/> 
    </Grid.ColumnDefinitions> 

    <Image ... /> 
    <TextBlock Grid.Column="1" ... /> 
    <TextBlock Grid.Row="1" Grid.ColumnSpan="2" .../> 
</Grid>