私はリストボックスを使用するタッチスクリーンインターフェイスを作成しています。
ページの上下にリストボックスの上下にボタンがあります。Wpfは、上/下にスクロールするとリピートボタンを無効にします。
私は、ページアップボタンを全部スクロールして無効にする場所に移動しようとしています。
スクロールしてpagedownボタンを無効にすると、
は、ここでリストボックス
<Style x:Key="{x:Type ListBox}" TargetType="{x:Type ListBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate x:Key="{x:Type ListBox}" TargetType="{x:Type ListBox}">
<DockPanel>
<RepeatButton x:Name="LineUpButton" DockPanel.Dock="Top"
HorizontalAlignment="Stretch"
Height="50"
Content="/\"
Command="{x:Static ScrollBar.PageUpCommand}"
CommandTarget="{Binding ElementName=scrollviewer}" />
<RepeatButton x:Name="LineDownButton" DockPanel.Dock="Bottom"
HorizontalAlignment="Stretch"
Height="50"
Content="\/"
Command="{x:Static ScrollBar.PageDownCommand}"
CommandTarget="{Binding ElementName=scrollviewer}" />
<Border BorderThickness="1" BorderBrush="Gray" Background="White">
<ScrollViewer x:Name="scrollviewer">
<ItemsPresenter/>
</ScrollViewer>
</Border>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Hidden"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Hidden"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>
のための私のStyles.xamlのコードだと、ここで私は運をすべて昨日の周りに検索
<ListBox SelectedItem="{Binding SelectedCan}" ItemsSource="{Binding Path=SelectedKioskCashCans}">
<ListBox.ItemTemplate>
<DataTemplate>
<ContentPresenter Content="{Binding image}" MaxWidth="75" />
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
リストボックスにインスタンスところです。
私はxamlですべてをやり遂げたいと考えています。
私はちょうどそのためPageUpCommand
のCanExecute
方法を使用して...彼らは本当にのように見える
<RepeatButton x:Name="LineUpButton" DockPanel.Dock="Top" HorizontalAlignment="Stretch"
Height="50"
Command="{x:Static ScrollBar.PageUpCommand}"
CommandTarget="{Binding ElementName=scrollviewer}">
<RepeatButton.Template>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Grid>
<Image Name="Normal" Source="/Images/up.png"/>
<Image Name="Pressed" Source="/Images/up.png" Visibility="Hidden"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="Normal" Property="Visibility" Value="Hidden"/>
<Setter TargetName="Pressed" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</RepeatButton.Template>
</RepeatButton>
優れています。完璧に動作します。 LIneLeftとLineRightボタンを無効にしなければならず、ちょっとした変更を加えても期待通りに機能します。 ありがとうございました! –
私はこのコードをComboBoxのポップアップに使用しています。私はLineUpとLineDownコマンドにこれを使用しようとしました。私がそれをそのまま使用すると、スクロールビューアの上部に到達すると、ポップアップが崩壊します。私が "e.Handled = true"をコメントアウトすると、それは隠されませんが、私が持っているリピートボタンが無効になっていないので、canExecuteは真のままです。だから、このコードは私のために働いていません。 –