カスタムコントロールテンプレートを使用し、いくつかの依存プロパティが追加されたスライダから派生したクラスがあります。新しいプロパティに基づいてテンプレート内のトリガを起動したいと思います。例えばControlTemplateトリガーでカスタムプロパティを使用する方法
、私はfalseに設定されたときに、私は私のスライダーのちょうど親指部分がhiddinしたいThumbIsVisibleと呼ばれる新しい依存関係プロパティを持っています。私のコントロールテンプレートは以下のようになります。私は私が制御tempateのを持っているように、これは動作しません見ることができます
<ControlTempate.Trigger>
<Trigger Property="ThumbIsVisible" Value="False">
<Setter TargetName="m_Thumb" Property="Visibility" Value="Collapsed" />
右バットオフ:
<Slider.Template>
<ControlTemplate TargetType="{x:Type Slider}">
...
<Track.Thumb>
<Thumb x:Name="m_Thumb" Style="{StaticResource SliderThumbStyle}" />
...
私は次のようになり、トリガーに追加したいと思いますターゲットタイプをSliderに設定します。しかし、もし私がそれを変更すると:
<ControlTemplate TargetType="{x:Type local:myCustomSlider}">
私は、コントロールとは異なるテンプレートタイプの問題に遭遇します。これを回避する唯一の方法は、Sliderの代わりにlocal:myCustomSliderを型として使用してxamlを作成することです。しかし、これはVisualStudioのデザイナーとコードの背後にある多くの問題を引き起こします。
これを回避するための標準的な方法があるかどうかは知っていますか?回避策として、コードビハインドを使用してテンプレートのトリガに追加しようとしましたが、それを動作させることができませんでした。
解決策を回答として追加し、受け入れられないように解決します。 – kevev22
私は100名の評判になるか、8時間の初心者の自己回答の上限が上がるとすぐに私はします。 – BruceLH