对WPF应用程序使用加载指示器

时间:2018-08-10 21:13:01

标签: c# wpf nuget-package

我是WPF的新手,我想添加一个加载指示器。我发现https://github.com/100GPing100/LoadingIndicators.WPF具有一些不错的预制加载指示器,并且为此安装了NuGet软件包,但是我很难在窗口中实现它们。

所以我添加了

<Window ...
    xmlns:loadin="clr-namespace:LoadingIndicators.WPF;assembly=LoadingIndicators.WPF"
    ...
>

Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/LoadingIndicators.WPF;component/Styles/LoadingDoubleBounce.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

但是当我尝试向网格中添加一个加载指标时,动态资源出现错误

<Grid x:Name="TagLoadingIndicator" Panel.ZIndex="1">
    <loadin:LoadingIndicator SpeedRatio="{Binding SpeedRatio}" IsActive="{Binding IsDoubleBounceActive}" Style="{DynamicResource LoadingIndicatorDoubleBounceStyle}"/>
</Grid>

我得到的错误是

  

资源“ LoadingIndicatorDoubleBounceStyle”不能为   解决。

根据我在其他网站上看到的内容,我已将其正确添加到ResourceDictionary中。我假设通过安装NuGet软件包,我已经定义了资源。我仍然可以运行该应用程序,但指示器丢失。我想念什么?

谢谢

1 个答案:

答案 0 :(得分:3)

该密钥存在于Styles.xaml文件中。因此,请在您的资源中添加对它的引用。

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/LoadingIndicators.WPF;component/Styles/LoadingDoubleBounce.xaml"/>
            <ResourceDictionary Source="pack://application:,,,/LoadingIndicators.WPF;component/Styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
 </Window.Resources>