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

本文关键字:XAML 样式 绑定 | 更新日期: 2023-09-27 18:12:30

我写了一个示例,看看绑定是否可以在空白的Windows Store应用程序中的Style中使用-它编译但没有完全像我希望的那样工作。我对XAML和绑定比较陌生,所以可能遗漏了一些东西。

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

是绑定在一个Style应该是可能的在一个winstore应用程序?(我的目标是有一个滑块,可以同时更改大量元素的设置,这似乎比复制/粘贴绑定到所有元素要好)

<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>

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

回答我自己的问题…这似乎是不可能在Windows商店应用程序。

我从MSDN论坛上的一个用户那里得到了一个澄清

[Bindings]不支持Style设置在Windows商店应用程序,如类的Value属性不能被绑定滑块在Style

因此,解决方法是直接在Style之外设置绑定(如果你有很多元素要绑定的话,这是一个冗长的选项)