none
Slider怎么设置当前点的显示参数 RRS feed

  • 问题

  • 现在都是通过slider->value的方式进行赋值,请问有没有不通过value的方式,只是给一个值让其显示?
    2012年9月17日 3:20

答案

  • 我不是很清楚你为什么要这样做,slider显示的值就是value的值,假设有一个CustomerValue可以改变显示值,却不通过value,那么获取slider显示的值的变量value就没有意义了。

    如果你一定要这样做,你可以尝试创建一个Customer Slider,继承Slider,然后创建这样一个你需要的属性。

    或者你可以把显示的值存在Tag里面, 让你的Silder显示Tag属性的值。


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年9月17日 4:36
  • 是的啊 显示的值肯定会是Value的,因为Silder默认template里面就是绑定到这个值上面的啊, 你value是多少 就会显示多少啊:

    <Thumb x:Name="VerticalThumb" Background="{StaticResource SliderThumbBackgroundThemeBrush}" Grid.Column="1" DataContext="{TemplateBinding Value}" Height="{StaticResource SliderTrackThemeHeight}" Grid.Row="1" Style="{StaticResource SliderThumbStyle}" Width="{StaticResource SliderTrackThemeHeight}"/>

    我建议你看看默认模板。

    另外 tag是一个附加属性,也就是AttachedProperty, 可以为你提供一些数据的地方。

    --〉怎么把显示的值存在Tag里面?

    Value=“{Binding Tag,ElementName=。。。}”,这样就可以用Tag存储显示的值,但是我不觉得不用slider显示value有任何意义。


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年9月17日 8:20

全部回复

  • 我不是很清楚你为什么要这样做,slider显示的值就是value的值,假设有一个CustomerValue可以改变显示值,却不通过value,那么获取slider显示的值的变量value就没有意义了。

    如果你一定要这样做,你可以尝试创建一个Customer Slider,继承Slider,然后创建这样一个你需要的属性。

    或者你可以把显示的值存在Tag里面, 让你的Silder显示Tag属性的值。


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年9月17日 4:36
  • 怎么把显示的值存在Tag里面?
    2012年9月17日 6:20
  • 我试了slider->tag = ;但是slider的滑动位置仍然显示是value的值
    2012年9月17日 6:32
  • 是的啊 显示的值肯定会是Value的,因为Silder默认template里面就是绑定到这个值上面的啊, 你value是多少 就会显示多少啊:

    <Thumb x:Name="VerticalThumb" Background="{StaticResource SliderThumbBackgroundThemeBrush}" Grid.Column="1" DataContext="{TemplateBinding Value}" Height="{StaticResource SliderTrackThemeHeight}" Grid.Row="1" Style="{StaticResource SliderThumbStyle}" Width="{StaticResource SliderTrackThemeHeight}"/>

    我建议你看看默认模板。

    另外 tag是一个附加属性,也就是AttachedProperty, 可以为你提供一些数据的地方。

    --〉怎么把显示的值存在Tag里面?

    Value=“{Binding Tag,ElementName=。。。}”,这样就可以用Tag存储显示的值,但是我不觉得不用slider显示value有任何意义。


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年9月17日 8:20
  • 谢谢!

    但是我试了一下,我在xaml中加入了Value=“{Binding Tag}“

    在代码中让slider->tag=..

    但是还是显示的是实际value的值,请问是哪里有问题?

    2012年9月18日 10:03
  • --〉但是我试了一下,我在xaml中加入了Value=“{Binding Tag}“

    --〉在代码中让slider->tag=..

    --〉但是还是显示的是实际value的值,请问是哪里有问题?

    我想你想要好好看看我先前的回复 然后理解我说的是什么

    理解什么是绑定

    先理解一些基础的概念 然后再去完成自己的东西


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年9月18日 10:15
  • 好的,谢谢
    2012年9月18日 10:39