3

おそらく私は別の解決できない問題を抱えています。Silverlight XAML で、プロパティにStyle負の値を設定できません。Slider.Minimumつまり、可能ですが、結果は予想外です。WPF では、これは正常に機能します。

<StackPanel Width="200" Orientation="Vertical">
    <StackPanel.Resources>
        <Style TargetType="Slider" x:Key="style">
            <Setter Property="Minimum" Value="-10" />
            <Setter Property="Maximum" Value="10" />
            <Setter Property="Value" Value="0" />
        </Style>
    </StackPanel.Resources>
    <!-- Here it is not working -->
    <Slider Style="{StaticResource style}"/>
    <!-- Here it works as expected, as it is not styled -->
    <Slider Minimum="-10" Maximum="10" Value="0" />
</StackPanel>

結果は次のようになります。

ここに画像の説明を入力

しかし、明らかに両方の親指が同じ位置 (の真ん中Slider) にある必要があります。

実際には、Minimum値 (-10)受け入れられているように見えますが、Maximum値が 0 になるため、最初のスライダーのつまみが右側に配置されています ( Value0 でありMaximum、0 でもあります)。

4

1 に答える 1

2

問題はHorizontalTemplateスライダーです。OrientationSlider の を に変更するとVertical、スタイルで定義された値が期待どおりに適用されます。

更新: 解決策は、スタイルにも方向を設定することです。その後、期待どおりに動作します。

<Style TargetType="Slider" x:Key="style">
  <Setter Property="Minimum"
          Value="-10" />
  <Setter Property="Maximum"
          Value="10" />
  <Setter Property="Value"
          Value="0" />
  <Setter Property="Orientation"
          Value="Horizontal" />
 </Style>
于 2012-11-29T15:13:15.653 に答える