样式未在wpf中正确应用

时间:2018-01-10 12:07:23

标签: wpf slider styles

在我的应用程序中,我有两个页面具有来回导航行为。

在我的第一页中,我有一个如下所示的滑块:

enter image description here

要获得带蓝色填充的滑块,我将使用其样式中的以下代码段。

<Track Grid.Row="1"
       Name="PART_Track">
    <Track.DecreaseRepeatButton>
        <RepeatButton Command="Slider.DecreaseLarge"
                      Background="Gray" />
    </Track.DecreaseRepeatButton>
    <Track.IncreaseRepeatButton>
        <RepeatButton Command="Slider.IncreaseLarge"
                      Background="#4591b1" />
    </Track.IncreaseRepeatButton></Track>

但填充在以下情况下无效。

&#34;导航到第二页,然后转到第一页&#34; 。现在我得到的滑块没有任何蓝色填充:

enter image description here

我怀疑这个风格已经被覆盖了。如何摆脱这个问题?有任何想法吗?

1 个答案:

答案 0 :(得分:0)

一旦我为重复按钮编写了单独的样式,问题就解决了。

 <Style x:Key="IncreaseSliderButtonStyle" TargetType="{x:Type RepeatButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RepeatButton}">
                    <Border Background="#4591b1"  />
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

然后我们需要将它应用于滑块模板

  <Track.IncreaseRepeatButton>
                                <RepeatButton
                                    Command="Slider.IncreaseLarge"
                                    Style="{StaticResource IncreaseSliderButtonStyle}" />
                            </Track.IncreaseRepeatButton>