0

ページで自動スケーリングの問題が発生しています。ページはScrollViewer内に表示されます。これには通常、右に33%までの列と、左に66%までのグリッドが含まれています。

グリッドの高さのみを自動スケーリングして(つまり、右側の列から独立して)、ウィンドウのサイズ、エルゴ、ScrollViewer自体ではなくScrollViewerを含むオブジェクトに応じて拡大するようにします。

これまでのところ、このアイデアを実行することはできませんでした... ScrollViwer自体ではなくScrollViewerの「親」と比較して、グリッドを拡大したいことをxamlコードに説明するにはどうすればよいでしょうか。

これが私の場合をもっと簡単にするなら、私がここで達成しようとしていることのコード例です:

<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を介してコードビハインドでウィンドウサイズを直接使用し、親ファイルのコンテンツの高さを差し引くことで問題を解決しました(静的であるため、数値を入力するだけです)。それでも、実際には元の質問に答えていないので、この解決策を答えとしては取り上げません。

そして、これが私の(到達した)目標が要求されたものであったことの小さな図です(ええと...写真の「左」と「右」という言葉を切り替えるだけです): 描く

4

0 に答える 0