none
Win8.1 Slider控件的变化 RRS feed

  • 问题

  •       Win8.1仍然支持ResourceDictionary这种方式,发现诸如Button等控件自定义样式,然后利用Style = {StaticResource ButtonStyle1},来对某Button加载自定义样式。

     

          但是发现Slider存在问题:Win8.1中Slider多了一个Header属性,所有Slider按上述方式加载自定义样式时报错,XAML对应的界面报错无法显示,但是还是能编译并运行。

          对Win8.1默认的Slider,右击界面上Slider,选择Edit Template->Edit a copy , 发现不再像Win8中那样生成Style,而是生成一个ControlTemplate,同时xaml中添加Template=“{StaticResource SliderControlTemplate1”} ,

    报错如下

    COMException: Unspecified error

    Cannot apply a Style with TargetType 'Windows.UI.Xaml.Controls.Slider' to an object of type 'Microsoft.Expression.WindowsXamlPlatform.InstanceBuilders.WindowsUIXamlViewNodeManager+FallbackControl'. [Line: 166 Position: 243]

    对比Win8.1生成的Template和Win8 SilderStyle中的Template部分,发现多了

    <ContentPresenter x:Name=HeaderContentPresenter"

       ....

    />

    请问,这是什么问题?(VS版本 VS Utimate 2-13 Preview)

    2013年11月1日 5:39

答案

  • Hi denny,

    我按照你的步骤做了一遍,右键Slider选择Edit Template->Edit copy,并没有发现你所说的在XAML中添加Template,反而增了Style="{StaticResource SliderStyle1}"这么一段话。

    同时ContentPresenter x:Name=HeaderContentPresenter"对应的是win8.1中新加入control header的属性,有关Slider Header的内容可以参考: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.slider.header

    我使用的是VS 2013 Ultimate,我这里已经没有Preview的版本可以进行测试,所以我不确定是否因为VS的原因,建议你升级后再重新尝试看结果是否一样。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年11月1日 15:59
    版主

全部回复

  • Hi denny,

    我按照你的步骤做了一遍,右键Slider选择Edit Template->Edit copy,并没有发现你所说的在XAML中添加Template,反而增了Style="{StaticResource SliderStyle1}"这么一段话。

    同时ContentPresenter x:Name=HeaderContentPresenter"对应的是win8.1中新加入control header的属性,有关Slider Header的内容可以参考: http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.slider.header

    我使用的是VS 2013 Ultimate,我这里已经没有Preview的版本可以进行测试,所以我不确定是否因为VS的原因,建议你升级后再重新尝试看结果是否一样。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年11月1日 15:59
    版主
  • 谢谢,确实是VS原因,安装VS 2013 Premium版本后不存在此问题。

    2013年11月5日 6:50
  • 只看到你的提问就解决了我的一个问题,多谢了
    2013年11月27日 9:15