2015-01-28 4 views
1

У меня есть изображение и 3 текстовых блока. Я хочу разместить изображение слева и 3 TextBlock в строках справа. Я пробовал:Высота изображение по высоте textblock

<Grid x:Name="Grid"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition/> 
       <ColumnDefinition/> 
      </Grid.ColumnDefinitions> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
       <RowDefinition Height="Auto"/> 
      </Grid.RowDefinitions> 
      <Image Grid.RowSpan="3" 
       Source="image.jpg" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Top"/> 
      <TextBlock Grid.Column="1" 
       Text="11" 
       FontSize="25"/> 
      <TextBlock Grid.Column="1" 
       Grid.Row="1" 
       Text="22"/> 
      <TextBlock Grid.Column="1" 
       Grid.Row="2" 
       Text="33" FontSize="14"/> 
     </Grid> 

Но у меня есть большое пространство между строками, когда изображение большое. Как я могу это сделать?

+0

мне нужно получить image.height как 3 строк TextBlock, то есть изменить размер изображения –

ответ

1

Если вы хотите, чтобы изображение оставалось его размером ... просто избавляйтесь от строк сетки и бросайте TextBlocks в вертикальную StackPanel.

Если вы хотите, чтобы изменить размер изображения так, что он имеет такую ​​же высоту, что и 3 TextBlocks ... вы можете связать высоту изображения в ActualHeight в любой контейнер вы кладете TextBlocks в, как это:

<Grid x:Name="Grid"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
    </Grid.ColumnDefinitions> 
    <Image Height="{Binding ActualHeight, ElementName=myStackPanel}" Source="image.jpg" Stretch="Uniform" HorizontalAlignment="Left" VerticalAlignment="Top"/> 
    <StackPanel Grid.Column="1"> 
     <StackPanel Name="myStackPanel"> 
      <TextBlock Text="11" FontSize="25"/> 
      <TextBlock Text="22"/> 
      <TextBlock Text="33" FontSize="14"/> 
     </StackPanel> 
    </StackPanel> 
</Grid> 
+0

мне нужно получить image.height как 3 строк TextBlock, то есть размер image –

+0

Я обновил ответ –

+0

Вы не можете привязываться к ActualHeight. Это настоящий позор. http://stackoverflow.com/questions/3787312/binding-to-actualheight-does-not-work –

0

Я бы попытался создать сетку с 1 строкой и 2 колонками.

В первом столбце я разместил бы изображение.

Во втором столбце я бы разместил панель стека с вертикальным потоком. Затем добавьте текстовые блоки в стеке.

+0

мне нужно получить image.height как 3 строк TextBlock, то есть изменить размер изображения –

 Смежные вопросы

  • Нет связанных вопросов^_^