簡體   English   中英

可以在樣式內的XAML中使用綁定嗎?

[英]Can binding be used in XAML within a Style?

我編寫了一個示例,看是否可以在空白的Windows Store應用程序的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>

回答我自己的問題...看來這在Windows Store應用程序中是不可能的。

我在MSDN論壇上得到了用戶的澄清,

像WPF中一樣,Windows Store Apps中的Style設置器不支持[Bindings],即您無法在Style綁定到Slider的Value屬性

因此,解決方法是直接在Style外部設置綁定(如果不幸的是要綁定很多元素,這是一個漫長的選擇)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM