Frage

Lassen Sie uns sagen, ich habe ein Listenfeld mit vielen Elementen, so dass eine vertikale Scroll-up kommt, aber ich habe die Bildlaufleiste versteckt mit

ScrollViewer.VerticalScrollBarVisibility="Hidden"

Gibt es eine Möglichkeit ich eine Schaltfläche hinzufügen kann, die für mich nach unten scrollen würde? iv tryed hinzufügen

Command="ScrollBar.LineDownCommand" 

auf eine Taste, aber das nur knapp sein Ziel hat keine Wirkung.

War es hilfreich?

Lösung

Sie müssen WPF sagen, wo für den Befehl Handler zu suchen beginnen. Ohne zu sagen es, wird es beginnen, von den Button suchen und nichts findet, dass der LineDownCommand behandelt. Leider ist es auf den ListBox Einstellung wird nicht ausreichen, weil die ScrollViewer ist innen die ListBox als Teil seiner Vorlage, so WPF wird es immer noch nicht finden.

es zu einem der ListBoxItems Einstellung ist geschmacklos, aber funktioniert:

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <ListBox x:Name="_listBox" ScrollViewer.VerticalScrollBarVisibility="Hidden">
            <ListBoxItem x:Name="_listBoxItem">One</ListBoxItem>
            <ListBoxItem>Two</ListBoxItem>
            <ListBoxItem>Three</ListBoxItem>
            <ListBoxItem>One</ListBoxItem>
            <ListBoxItem>Two</ListBoxItem>
            <ListBoxItem>Three</ListBoxItem>
            <ListBoxItem>One</ListBoxItem>
            <ListBoxItem>Two</ListBoxItem>
            <ListBoxItem>Three</ListBoxItem>
            <ListBoxItem>One</ListBoxItem>
            <ListBoxItem>Two</ListBoxItem>
            <ListBoxItem>Three</ListBoxItem>
        </ListBox>
        <Button Grid.Row="1" Command="ScrollBar.LineDownCommand" CommandTarget="{Binding ElementName=_listBoxItem}">Scroll Down</Button>
    </Grid>
</Window>

Eine bessere Möglichkeit, dies zu tun, die ListBox entweder Wiedervorlage sein würde und kleben Sie die Button in der Vorlage oder die CommandTarget im Code-behind verkabeln.

Andere Tipps

hatte ich eine app, wo ich manuell wollte das Scrollen eines Scroll steuern. Im Grunde genommen habe ich einen Verweis auf die Scroll und verwenden dann die ScrollToHorizontalOffset () Methode das Scrollen zu steuern. Im Folgenden sind die Blog-Posts, wo ich den Prozess erklären ich verwendet:

http://www.developingfor.net/wpf /fun-with-the-wpf-scrollviewer.html

http://www.developingfor.net/wpf /more-fun-with-wpf-scrollviewer.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top