风格仅适用于偶尔

时间:2014-08-14 18:55:22

标签: wpf windows-7 prism

我有一个项目,它为我的应用程序中使用的控件定义了一组默认样式。但是,某些样式未得到一致应用。例如,进度条最初呈现如下:

A progress bar rendered incorrectly

但稍后在应用程序中,它呈现正确:

A progress bar rendered correctly

我正在使用Microsoft Prism,如果这有所不同 - 进度条在控件最初导航到时会呈现错误,但在导航时会自动进行修正,然后再次导航到其中。

这种风格似乎部分应用也很奇怪 - 自定义形状总是正确应用,但颜色不是。

我想我是以标准的方式导入资源字典:

<UserControl>
  <UserControl.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="pack://application:,,,/MyAssembly;component/Themes/Generic.xaml"/>
        <!-- other resource dictionaries here -->
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </UserControl.Resources>
</UserControl>

为什么某些风格的应用不一致?

编辑:我刚看到它出现在黑白中!

enter image description here

1 个答案:

答案 0 :(得分:0)

想出来。原来我使用的样式是我的ProgressBar引用了一个未定义的DynamicResource主题。显然,这会导致我遇到的不可预测的行为。

作为旁注,我必须导入我ResourceDictionary中定义DynamicResource App.xaml的{​​{1}},而不仅仅是UserControl使用ProgressBar的{​​{1}} 1}}。