2017-12-04 1 views
2

私はWPF(およびMVVMフレームワーク)を使用して、スライダを持つインターフェイスを作成しています。WPF hideスライダトラック

<Slider Value="{Binding MotorDemandSpeed}" Maximum="3500" /> 

スライダーのトラック部分を非表示にして、「サムタック」のままにしています。しかし私は、単一のスライダーを変更する方法を見つけることができない、

enter image description here

私は様々な方法で周り見てきました:これはスライダーが現在(スタイルがテーマによって制御されている)のように見えるものです。

お手数ですが、

答えて

2

コントロールの外観を変更するには、コントロールテンプレートを変更する必要があります。各コントロールは多くの部分で構成され、各部分は多くのオブジェクトで構成されています。正確なx:KeyTargetTypeで個々の部品(トラックなど)を修正することができます。

This Questionには、スクロールバーコントロールテンプレートを変更する例があります。このテンプレートは、このスライダのテンプレートによく似ています。最初のステップは、このスライダーが使用するテーマのXamlファイルを特定し、トラックバー、サムなどを定義する部分を見つけることです。そこから、好みのコントロールを再作成するか、必要はありません。

テーマを編集する方法に関する情報が記載されているサードパーティのコントロールを使用していますか?おそらく、制御テンプレートの変更を調べて、制御テンプレートの理解を深めてみてください。

Here is the MDSN page for the slider control templateこれは便利です。あなたは、そのControlTemplate上書きできるようにするには、この特定のSliderインスタンスのTemplateプロパティを設定する必要が

3

:私はテンプレートを定義する方法がわからないようだった

<Slider Value="{Binding MotorDemandSpeed}" Maximum="3500"> 
    <Slider.Template> 
     <ControlTemplate TargetType="Slider"> 
      <!-- define the custom template without a track here... --> 
     </ControlTemplate> 
    </Slider.Template> 
</Slider> 
+2

おかげで、これは有用でした。もう1つの答えは、トラックを隠すためにテンプレート自体を作成するのに役立つ便利なリンクを示しています。なぜなら、私はこのトラックではなく答えとしてもう1つを設定しています。 – AidanH