可以在样式中的XAML中使用绑定吗?

时间:2014-07-11 22:37:27

标签: c# xaml windows-store-apps xaml-binding

我写了一个示例,看看是否可以在空白的Windows应用商店应用中的Style内使用绑定 - 它已经编译但是没有完全按照我的希望工作。我对XAML和绑定相对较新,所以可能错过了一些东西。

在下面的示例中,有两个矩形,两个都绑定到滑块控件,并且两个应该在滑块移动的同时更改,但似乎只有第一个更改;第一个是直接绑定的,第二个是通过style绑定的。

在Win Store应用程序中是否可以绑定Style? (我的目标是有一个滑块可以同时更改大量元素的设置,看起来这比将复制/粘贴绑定到所有元素更好)

<Grid Background="#FF87873D">

    <StackPanel>
        <StackPanel.Resources>
            <Style x:Key="myTestRectangleStyle" TargetType="Rectangle">
                <Setter Property="Fill" Value="DarkBlue" />
                <Setter Property="Margin" Value="10,10" />
                <Setter Property="Height" Value="30" />
                <Setter Property="Width" Value="{Binding ElementName=slider1, Path=Value}" />
            </Style>
        </StackPanel.Resources>

        <Rectangle Width="{Binding ElementName=slider1, Path=Value}" Fill="Black" Margin="10,10" Height="30"/>

        <Rectangle Style="{StaticResource myTestRectangleStyle}"/>

        <Slider Name="slider1" Minimum="20" Maximum="200" Margin="20,0"/>
    </StackPanel>
</Grid>

1 个答案:

答案 0 :(得分:0)

回答我自己的问题......似乎在Windows应用商店应用中无法实现这一点。

我收到了MSDN forum用户的澄清

  Windows应用商店中的Style设置器不支持

[Bindings]   它们在WPF中,即你不能绑定到的Value属性   Style

中的滑块

所以解决方法就是直接在Style之外设置绑定(如果你有很多要绑定的元素,那么这是一个很长的选项)