簡體   English   中英

在 XAML 中投射 WPF 屬性

[英]Cast WPF property in XAML

我想知道是否可以在 WPF 中投射屬性?

我有這個代碼

<Window.Triggers>
    <EventTrigger RoutedEvent="Window.Loaded">
        <BeginStoryboard>
            <Storyboard>
                <DoubleAnimation Storyboard.TargetProperty="(Window.Opacity)" From="0.0" To="0.92" Duration="0:0:0.15" AutoReverse="False" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</Window.Triggers>

我想修改我的 window 背景不透明度,但我需要將 Window.Background 轉換為 SolidColorBrush 這就是為什么我想知道它是否可能以及如果是的話怎么做(如果沒有的話,如果你有一個好的方法)

謝謝你的幫助:)

這將起作用,作為您問題中 DoubleAnimation 的替代品。 你非常親近。 XAML 通常不需要類型轉換。 它是“鴨式”。 但是,lankitha 的出色回答說明了它是如何在屬性路徑中完成的: (Window.Background).(SolidColorBrush.Color) (Window.Background).(SolidColorBrush.Opacity)在這里。 但在這種情況下,這不是必需的。

<DoubleAnimation
    Storyboard.TargetProperty="Background.Opacity"
    From="0.0" 
    To="0.92" 
    Duration="0:0:0.15" 
    AutoReverse="False" 
    />

如果您想通過使背景透明來使您的 window 實際上透明,您還需要在 Window 元素本身上進行以下操作:

AllowsTransparency="True"
WindowStyle="None"

請嘗試ColorAnimation功能。 通常,#00000000 代表透明的十六進制顏色,開頭的不透明度有兩個零,格式為aRGB 將 window 的顏色設置為上述顏色。 並在顏色 animation 中將其設置為所需的顏色。

嘗試這個

<EventTrigger RoutedEvent="Window.Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <ColorAnimation To="#FF000000" 
                                    Storyboard.TargetProperty="(Window.Background).(SolidColorBrush.Color)" 
                                    FillBehavior="Stop" 
                                    Duration="0:0:0.15"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>

希望這可以幫助。

暫無
暫無

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

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