全て、
これは簡単だと確信していますが、私はまだこれをやろうとしています。コード ビハインドでスクロールビューアーの ViewPortHeight を取得し、読み込まれたイベントとサイズが変更されたイベントにプラグインして、ViewPortHeight に関連するオブジェクトを管理できますが、CodeBehind にまったく移動せずにこれを行う簡単な方法があるかどうか疑問に思っていました。
つまり、どうにかして XAML で ViewPortHeight (および ViewPortWidth) を取得し、それらを別の要素の size プロパティまたは ViewModel (もちろん、独自の IValueconverter を使用) に直接バインドします。このようにして、ウィンドウのサイズが変更されるたびに (またはスケール変換が行われるたびに)、関連するコントロールをより簡単に管理できるようにしたいと考えています。
つまり、疑似コードでは、これが私が達成したいことです(コードビハインドなし)
(MyConverter がリソースの IValueConverter であると仮定します)
<ScrollViewer Name="MyScrollViewer">
<loc:MyControl Width="{Binding Path=ViewPortWidth, ElementName=MyScrollViewer, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource MyConverter}, ConverterParameter=10}" />
</ScrollViewer>
前もって感謝します。