У меня есть универсальное приложение Windows 8.1, над которым я работаю для клиента. Клиент хочет, чтобы часть всплывающего окна была одинаковой высоты другой части того же всплывающего окна. В выпадающем списке используется шаблон данных, а в datatemplate содержится сетка из трех строк и двух столбцов. Элемент внутри scrollviewer в строке 0, столбец 1 (диапазон строк 3) должен быть такой же высоты, как и первая строка в сетке. Есть ли способ достичь этого?Как связать высоту элемента в сетке с фактической высотой grid.row
Я не могу получить сетку с й: Имя, потому что она находится в пределах 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>
Приложить код XAML. –