所以我有一个带有多个标签和底层RibbonGroups / Buttons的RibbonControl。 如果相应的Backgroundworker忙,我想在其中一个按钮上显示GIF作为LargeImageSource。到目前为止它正在工作,我可以看到我的DataTrigger根据状态显示正确的图像。问题是,应该显示为GIF的图像仅显示为静态(如通常的PNG)。我已经下载了WPFAnimatedGif,但我无法在Binding中使用它。
这是它的XAML代码:
<RibbonButton x:Name="ImpFromForum" Label="From forum" FontSize="12" SmallImageSource="Icons/General/DownloadFile_64x.png" Click="ImpFromForum_Click">
<RibbonButton.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=frmMain, Path=ImportBusy}" Value="false">
<Setter Property="RibbonButton.LargeImageSource" Value="Icons/General/Icon8_download_72px.png"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=frmMain, Path=ImportBusy}" Value="true">
<Setter Property="RibbonButton.LargeImageSource" Value="Icons/General/Loading_Spiffy_64x64.gif"/>
</DataTrigger>
</Style.Triggers>
</Style>
</RibbonButton.Style>
</RibbonButton>
添加了命名空间“xmlns:gif =”http://wpfanimatedgif.codeplex.com“,我可以看到它在图像中使用它时有效。但不知怎的,我无法在Setter中使用它。我可以排除Backgroundworker的问题(占用我的UI线程)因为UI仍然会对命令做出反应。有人知道如何做到这一点吗?