2016-12-29 10 views
0

У меня есть универсальное приложение Windows 8.1, над которым я работаю для клиента. Клиент хочет, чтобы часть всплывающего окна была одинаковой высоты другой части того же всплывающего окна. В выпадающем списке используется шаблон данных, а в datatemplate содержится сетка из трех строк и двух столбцов. Элемент внутри scrollviewer в строке 0, столбец 1 (диапазон строк 3) должен быть такой же высоты, как и первая строка в сетке. Есть ли способ достичь этого?Как связать высоту элемента в сетке с фактической высотой grid.row

enter image description here

Я не могу получить сетку с й: Имя, потому что она находится в пределах DataTemplate. Клиент настаивает на том, что область, обозначенная красной стрелкой, имеет ту же высоту, что и оранжевая область в верхней части всплывающего окна. И она должна находиться в этой области прокрутки.

Любые идеи?

Спасибо,
Zach

Edit: Вот XAML.

<DataTemplate x:Name="MultiselectFlyout"> 
     <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height=".25*" /> 
       <RowDefinition Height=".18*" /> 
       <RowDefinition Height="*" /> 
      </Grid.RowDefinitions> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*" /> 
       <ColumnDefinition Width=".22*" /> 
      </Grid.ColumnDefinitions> 
      <Border Background="Gray" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
       <TextBlock Text="{Binding SelectedName, Mode=OneWay}" FontSize="34" FontFamily="{StaticResource GothamMedium}" TextAlignment="Center" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/> 
      </Border> 
      <Border Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent"> 
       <Image Source="../Assets/dropshadow_B.png" Height="150" Margin="0,-110,0,0" Opacity=".3" Stretch="Fill" VerticalAlignment="Top" HorizontalAlignment="Stretch"/> 
      </Border> 
      <Border Background="{StaticResource PrimaryColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
       <TextBlock Foreground="White" Padding="0" TextAlignment="Center" VerticalAlignment="Center"> 
        <Run Text="{Binding Title}" FontSize="44" FontFamily="{StaticResource GothamMedium}"/> 
        <LineBreak/> 
        <Run Text="{Binding Subtitle[0]}" FontSize="28" FontFamily="{StaticResource GothamLight}"/> 
       </TextBlock> 
      </Border> 
      <Grid x:Name="ImageSwap" Grid.Row="2" Background="White"> 
       <Border Background="Transparent" BorderBrush="Gray" BorderThickness="0,0,1,0"> 
        <Image Source="{Binding BottomImage, Mode=OneWay}" Stretch="Uniform" ImageOpened="Image_Opened"/> 
       </Border> 
       <Border Background="Transparent" BorderBrush="Gray" BorderThickness="0,0,1,0"> 
        <Image Source="{Binding TopImage, Mode=OneWay}" Opacity="{Binding TopImgVisibility, Mode=OneWay}" Stretch="Uniform" ImageOpened="Image_Opened"/> 
       </Border> 
      </Grid> 
      <ScrollViewer Grid.Row="1" Grid.RowSpan="2" Grid.Column="1" Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" VerticalScrollBarVisibility="Hidden" VerticalScrollMode="Enabled" Loaded="ScrollViewer_Loaded" Tapped="ScrollViewer_Tapped"> 
       <ItemsControl ItemsSource="{Binding Colors, Mode=OneWay}" ItemTemplateSelector="{StaticResource DividerOrImageSelector}" Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
        <ItemsControl.ItemsPanel> 
         <ItemsPanelTemplate> 
          <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Top"/> 
         </ItemsPanelTemplate> 
        </ItemsControl.ItemsPanel> 
       </ItemsControl> 
      </ScrollViewer> 
      <Border Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="LightGray"> 
       <Viewbox StretchDirection="DownOnly" Margin="0"> 
        <TextBlock FontFamily="{StaticResource GothamMedium}" Foreground="Black" FontSize="22" TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
         <Run Text="SCROLL"/><LineBreak /><Run Text="TO SEE ALL"/><LineBreak /><Run Text="THE COLORS"/> 
        </TextBlock> 
       </Viewbox> 
      </Border> 
     </Grid> 
    </DataTemplate> 
+0

Приложить код XAML. –

ответ

0

Попробуйте это:

<RowDefinition x:Name="row"> 
<Button Height="{Binding Height,ElementName="row"}"> 

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

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