簡體   English   中英

使用附加屬性在 XAML 中為 WPF 元素設置動畫?

[英]Animating WPF element in XAML using attached property?

我的動畫由 ViewModel 中的一個屬性觸發。 如果我將TargetProperty設置為Width ,則下面的代碼實際上可用於增大圖像。

接下來,我想實際上下移動圖像。 為此,我在圖像周圍添加了一個Canvas組件,以便能夠基於Canvas.Top屬性進行動畫處理。 在圖像上設置Canvas.Top將其移動到我想要的位置。

但是,如果我將StoryBoard.TargetProperty設置為Canvas.Top ,則會出現錯誤:

無法解析屬性路徑 Canvas.Top 中的所有屬性引用。

<Style x:Key="LoadingImageAnimation" TargetType="{x:Type Image}">
  <Style.Triggers>
    <DataTrigger Binding="{Binding IsLoading}" Value="True">
      <DataTrigger.EnterActions>
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation From="10" To="250" AutoReverse="True" Duration="0:0:30"
                             Storyboard.TargetProperty="Canvas.Top"/>
          </Storyboard>
        </BeginStoryboard>
      </DataTrigger.EnterActions>
    </DataTrigger>
  </Style.Triggers>
</Style>

我的方法是完全關閉,還是只是尋找附屬財產的問題?

Property Path Syntax進行了一些挖掘。 解決方案實際上很簡單..需要添加括號“(Canvas.Top)”。

動畫並不像我想要的那么流暢......但至少現在它可以工作了。

暫無
暫無

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

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