运行时无法找到DynamicResource时的信息?

时间:2012-08-28 09:16:16

标签: wpf xaml resourcedictionary

在我目前的项目中,我有一个非常大的基于WPF的应用程序,它有很多静态和动态资源。 由于过去有许多重构和更改,因此在运行时期间无法找到许多DynamicResource,因此不会应用任何值。

我喜欢做的是运行应用程序并在无法找到DynamicResource时获取输出,异常或其他任何内容。

我曾尝试构建一个DefaultTraceListener和一个检查未使用的DynamicResources的转换器,但无济于事。

有没有人为我提供如何实现这一目标的解决方案?

示例:

    <Grid.Resources>
      <Style x:Key="myStyle1" TargetType="{x:Type TextBlock}">
        <Setter Property="Background" Value="Blue"></Setter>
      </Style>
    </Grid.Resources>
    <StackPanel>
      <TextBlock Style="{DynamicResource myStyle1}">DynamicResource exists</TextBlock>
      <TextBlock Style="{DynamicResource myStyle3}">DynamicResource does not exist</TextBlock>
    </StackPanel>

如何在运行时通知myStyle3不存在?

提前致谢!

1 个答案:

答案 0 :(得分:1)

有很多工具可以证明巫婆绑定不起作用..

  • WPF Inspector是我最喜欢的工具,请看一下。 WPF Inspector
  • Snoop utility就是其中之一。简而言之 - 在右上角你会发现DropDown列表允许过滤视觉效果,只需选择带有绑定错误的视觉效果。资料来源:How to locate the source of a binding error?
  • 在Visual Studio中,您可以在“调试”菜单中启用所有异常(带有绑定错误),例外,然后检查所有内容。

但我不知道这是不是你想要的,让其他人回答这个......