できれば純粋なXAMLで以下を解決したいのですが、無理なら教えてください。私も C# ソリューションを持っていないので、それを利用する必要がある場合は、適切なパスを送ってください。
以下では、2 列のグリッドがあります。左の列は、動的コンテンツを含むスクロール ビューアーです。右側の列は、動的コンテンツを含むスタックパネルです。右の列のコンテンツで親グリッドと左の列の高さを制御したい - つまり、右の列をマスターにしたい。右側の列には 3 つの項目がある場合もあれば、10 項目がある場合もあります。項目が 3 つしかない場合は、グリッド全体の高さを短くし、左側のスクロール ビューアーのコンテンツをスクロールする必要があります。左スクロールビューアーには 100 個のアイテムがある可能性があるため、そのアイテムで高さを制御することはできません。
サンプルコードは次のとおりです。
<Grid x:Name="grd_Parent" Background="#FFF4E9FF">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<ScrollViewer x:Name="Left" Grid.Column="0">
<!-- This side should scale (and scroll) to the height of the right column-->
<StackPanel VerticalAlignment="Top">
<Rectangle Height="50" Fill="Red"/>
<Rectangle Height="50" Fill="Blue"/>
<Rectangle Height="50" Fill="Black"/>
<Rectangle Height="50" Fill="Brown"/>
<Rectangle Height="50" Fill="Purple"/>
<Rectangle Height="50" Fill="DarkGreen"/>
<Rectangle Height="50" Fill="Violet"/>
<Rectangle Height="50" Fill="Wheat"/>
<Rectangle Height="50" Fill="DarkCyan"/>
<Rectangle Height="50" Fill="DarkGray"/>
<Rectangle Height="50" Fill="DarkOrange"/>
</StackPanel>
</ScrollViewer>
<StackPanel x:Name="Right" Grid.Column="1" VerticalAlignment="Top">
<!-- This content is dynamic as well, but height of this should be the height of the parent grid -->
<TextBlock Height="50" Text="This"/>
<TextBlock Height="50" Text="Side"/>
<TextBlock Height="50" Text="Should"/>
<TextBlock Height="50" Text="Determine"/>
<TextBlock Height="50" Text="The"/>
<TextBlock Height="50" Text="Height"/>
<TextBlock Height="50" Text="Of"/>
<TextBlock Height="50" Text="Parent"/>
</StackPanel>
</Grid>
存在するサンプルのスクリーンショットを次に示します。
これは、私が望んでいるもののスクリーンショットです。
事前にありがとう、ビームス