私はスクロールビューアコントロールを持っています。そのコーディング
<Window.Resources>
<DataTemplate x:Key="listBoxItemTemplate">
<TextBlock />
</DataTemplate>
<ItemsPanelTemplate x:Key="itemsPanelTemplate">
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0"/>
<RowDefinition/>
</Grid.RowDefinitions>
<RepeatButton x:Name="LineLeftButton"
Grid.Column="0"
Grid.Row="1"
Content="<"
Command="{x:Static ScrollBar.LineLeftCommand}"
CommandTarget="{Binding ElementName=scrollViewer}"/>
<RepeatButton x:Name="LineRightButton"
Grid.Column="2"
Grid.Row="1"
Content=">"
Command="{x:Static ScrollBar.LineRightCommand}"
CommandTarget="{Binding ElementName=scrollViewer}"/>
<ScrollViewer Grid.Column="1" Grid.Row="1" x:Name="scrollViewer"
VerticalScrollBarVisibility="Hidden"
HorizontalScrollBarVisibility="Hidden">
<ListBox Name="lst2"
Margin="0,0,0,0"
VerticalAlignment="Stretch"
ItemsPanel="{StaticResource itemsPanelTemplate}"/>
</ScrollViewer>
</Grid>
その最後にデータがない場合、繰り返しボタンを無効にしたい。
つまり、Listbox データをスクロールしていて、最後にその特定の側 (つまり、左、右) にデータがない場合、その側の RepeatButton は無効になります。逆方向にスクロールすると、前述の RepeatButton が有効になります。
ここではグラフ表示を示しています。私はそれが適切に明確にすることができると確信しています。
画像1:
左側にスクロールするデータがないため、左側で RepeatButton が無効になっていることを確認してください。
画像2:
右側にスクロールするデータがないため、右側で RepeatButton が無効になっていることを確認してください。
このタイプのスクロールは、私が達成しようとしているものです。上/下にスクロールしたときにWpfが繰り返しボタンを無効にするのを読みましたが、役に立ちません。