none
Logarithmischer Slider in XAML RRS feed

  • Frage

  • Hi,

    der Slider bei hat ja eine lineare Skala.

    Kann ich diese Komponente so modifzieren, dass die Skala logarithmisch wird?

    Also quasi 1,10,100,1000...


    • Bearbeitet DasKänguru Dienstag, 17. Februar 2015 16:18
    Dienstag, 17. Februar 2015 16:16

Antworten

  • Damit das Design exakt so aussieht wie beim normalen Slider müsstest du das gesamte Template überschreiben. Hierfür kannst du den Slider im Designer markieren, einen Rechtsklick machen und Vorlage bearbeiten > Kopie bearbeiten... wählen.
    Wenn man sich einmal in die Templaktes eingelesen hat funktioniert das mehr oder weniger einfach. Andererseits ist es natürlich trotzdem mit einigem Aufwand verbunden.
    (Erweitern könnte man das Ganze indem man es in ein CustomControl auslagert).

    Wenn es dich Designtechnisch nicht stört würde ich dir empfehlen einfach einen TextBlock daneben zu setzen und diesen zu binden:

    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
            <ColumnDefinition MinWidth="100" Width="auto"/>
        </Grid.ColumnDefinitions>
        <Slider IsThumbToolTipEnabled="false" Name="slider"/>
        <TextBlock Text="{Binding Value, ElementName=slider, Converter={StaticResource LinearToLogarithmConverter}}" Grid.Column="1"/>
    </Grid>
    Der ohne weiteres setzbare Tooltip (über die ToolTipServices-Klasse) verhält sich leider deutlich anders als der Slider-Tooltip. Daher könnte man diesen nur bedingt einsetzen.


    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Dienstag, 17. Februar 2015 17:10

Alle Antworten