ScrollViewerをGridにラップし、scrollviewerのWidthプロパティとHeightプロパティをグリッドのActualWidthとActualHeightにバインドできます。したがって、スクロールビューアは、ウィンドウのサイズ変更時に変更されるグリッドのサイズに等しい固定サイズを持ちます。
例:
<Grid x:Name="LayoutRoot" Background="White">
<Grid Background="#FFF1F1F1" Height="49" VerticalAlignment="Top">
<Button Content="Обзор" Margin="0,13,175.25,0" VerticalAlignment="Top" FontSize="14.667" HorizontalAlignment="Right" Width="95.147">
</Button>
<Label Content="{Binding DocPath, Converter={StaticResource FileNameConverter}, FallbackValue=Выберите файл, TargetNullValue=Выберите файл}" HorizontalAlignment="Left" VerticalAlignment="Top" Width="342.603" Margin="10,10,0,0" Height="33"/>
<Button Content="Загрузить данные" HorizontalAlignment="Right" Margin="0,13,10,0" VerticalAlignment="Top" Width="151.147" FontSize="14.667">
</Button>
</Grid>
<Grid x:Name="scrollBorder" Margin="10,54,10,10">
<ScrollViewer x:Name="LogScroller" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
HorizontalAlignment="Left" VerticalAlignment="Top"
Height="{Binding ActualHeight, ElementName=scrollBorder}" Width="{Binding ActualWidth, ElementName=scrollBorder}" >
<ItemsControl ItemsSource="{Binding Log}" />
</ScrollViewer>
</Grid>
</Grid>
おかげで、我々は、WPFでのWindowsフォームのANCHORプロパティのようなものがありますか? –
@MSingh、あなたはScrollViewerの中に入れています。 ScrollViewerは、すべてのコンテンツを保持するために必要なだけの高さにできるコンテナです。アンカーは役に立ちません。実際、あなたのListBoxはすでに*アンカーされています。「ああ、あなたが私に必要なサイズになります。これらは、スクロール領域を別のスクロール領域に配置する危険性があります。使い勝手が悪く、動作を定義するのは難しいです。 –
私はScrollViewerに対処しなければならないたびに、悪い一日になることを知っています。 :) – MetalMikester