我有一个从滑块派生的类,它使用自定义控件模板并具有一些添加的依赖项属性。我想根据新的属性触发模板中的触发器。如何在ControlTemplate触发器中使用自定义属性
例如,我有一个名为ThumbIsVisible的新的依赖属性,当它设置为false时,我只需要我的滑块的拇指部分为hiddin。我的控件模板的样子:
<Slider.Template>
<ControlTemplate TargetType="{x:Type Slider}">
...
<Track.Thumb>
<Thumb x:Name="m_Thumb" Style="{StaticResource SliderThumbStyle}" />
...
我想在一个触发器,它看起来像加:
<ControlTempate.Trigger>
<Trigger Property="ThumbIsVisible" Value="False">
<Setter TargetName="m_Thumb" Property="Visibility" Value="Collapsed" />
马上蝙蝠我可以看到这是行不通的,因为我有控制tempate的目标类型设置为Slider。但是,如果我改变说:
<ControlTemplate TargetType="{x:Type local:myCustomSlider}">
然后我遇到了与控件不同的模板类型的问题。解决此问题的唯一方法是使用local:myCustomSlider作为类型而不是Slider来创建xaml。但是,这样做会导致Visual Studio的设计器和代码背后出现很多问题。
有谁知道是否有标准的方法来解决所有这些问题?作为一种解决方法,我尝试通过代码隐藏添加到模板的触发器中,但无法使其工作。
添加解决方案作为答案并接受它,这样就不会像未答复一样。 – kevev22 2012-02-28 17:50:15
我会尽快达到100声望或我的8小时新手自我回复限制已到。 – BruceLH 2012-02-28 19:19:51