ここで、WPF スクロールバーについて質問するいくつかの投稿を見てきましたが、その答えは通常、ScrollViewer を使用することです。これの問題は、静的サイズのウィンドウでしか機能しないことです。ウィンドウのサイズを変更すると、スクロールビューアが途切れます。
NavigationWindow スクロールバーを表示したいのですが、ヒントはありますか? さまざまなディスプレイ解像度で動作する必要があるアプリケーションを作成しています。
ここで、WPF スクロールバーについて質問するいくつかの投稿を見てきましたが、その答えは通常、ScrollViewer を使用することです。これの問題は、静的サイズのウィンドウでしか機能しないことです。ウィンドウのサイズを変更すると、スクロールビューアが途切れます。
NavigationWindow スクロールバーを表示したいのですが、ヒントはありますか? さまざまなディスプレイ解像度で動作する必要があるアプリケーションを作成しています。
Page コントロールのサイズを設定すると、ウィンドウのサイズが変更されても、スクロールビューアのサイズが変更されないことがわかりました。次のコードがある場合、スクロールビューアは正しく動作しません:
<Page x:Class="SomeNamespace.SamplePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Title="SamplePage" Height="400" Width="400">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Auto">
<Border x:Name="BigBadBorder" Height="1000" Width="2000" Background="HotPink" Margin="5">
<TextBlock Text="Waldo" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ScrollViewer>
</Grid>
</Page>
次のように、ページの高さと幅のプロパティを単純に省略しても、問題なく動作します。
<Page x:Class="SomeNamespace.SamplePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Title="SamplePage">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ScrollViewer HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalScrollBarVisibility="Auto">
<Border x:Name="BigBadBorder" Height="1000" Width="2000" Background="HotPink" Margin="5">
<TextBlock Text="Waldo" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ScrollViewer>
</Grid>
</Page>
最後に簡単な解決策:)