我的页面存在自动缩放问题。页面显示在 ScrollViewer 中,它通常在右侧约 33% 处包含一列,在左侧约 66% 处包含网格。
我只想自动缩放网格的高度(即独立于右侧的列),以便它根据窗口的大小进行拉伸,因此,它是包含ScrollViewer 而不是 ScrollViewer 本身的对象。
到目前为止,我还没有设法将这个想法付诸实践......我怎么可能向我的 xaml 代码解释我希望我的网格与 ScrollViewer 的“父级”而不是 ScrollViwer 本身相比被拉伸?
这是我在这里尝试完成的代码示例,如果它使我的情况更简单:
<Grid x:Name="Parent" MinHeight="400" MaxHeight="700">
<ScrollViewer x:Name="Annoying ScrollViewer">
<Grid x:Name="Page Content" ScrollViewer.VerticalScrollBarVisibility="Auto">
<!-- IN ANOTHER USERCONTROL FAR, FAR AWAY... -->
<Grid x:Name="Inner Page Content">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="330" />
</Grid.ColumnDefinitions>
<Grid x:Name="Right column" Grid.Column="1"></Grid>
<Grid x:Name="Left Grid" Grid.Column="0" VerticalAlignment="StretchToParentUserControl? Please?"></Grid>
</Grid>
<!-- BACK TO THE PARENT USERCONTROL -->
</Grid>
</ScrollViewer>
</Grid>
编辑:我通过直接通过App.Current.Host.Content.ActualHeight在代码隐藏中使用窗口大小并减去父文件内容的高度来解决我的问题(它是静态的,所以我可以输入数字)。不过,我不会将此解决方案作为答案,因为它实际上并没有回答原始问题。
这是我(达到的)目标所要求的一点图(呃......只需在图片中切换“左”和“右”这两个词):