2012-08-28 21 views
1

在我目前的項目中,我有一個非常大的基於WPF的應用程序,有很多Static和DynamicResources。 由於過去有很多重構和更改,因此在運行時無法找到大量DynamicResources,因此不會應用任何值。在運行時無法找到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不存在運行時被告知?

在此先感謝!

+0

你還在使用WPF檢查作爲你去到選項發現任何缺少動態資源?可悲的是WPF Inspector對我來說是崩潰的,正如另一個用戶[這裏](http://wpfinspector.codeplex.com/workitem/1172)所報道的,所以我正在檢查是否已經找到其他可行的選項(我沒有沒有發現Snoop對這個問題有幫助)。 –

+0

剛剛測試過它,它對我來說仍然正常工作。 WPF Inspector 0.9.9和我附加到從Visual Studio 2012運行的應用程序。 – SvenG

回答

1

有許多工具,告訴你巫綁定不工作..

  • WPF Inspector是我最喜歡的工具,一起來看看。 WPF Inspector
  • Snoop utility就是其中之一。簡而言之 - 您可以在右上角找到允許過濾器視覺效果的DropDown列表,只需選擇具有綁定錯誤的視覺效果即可。來源:How to locate the source of a binding error?
  • 在Visual Studio中,您可以啓用調試菜單中的所有異常(帶有綁定錯誤),異常,然後檢查所有內容。

但我不知道這是否是你想要什麼,讓別人回答這個...

+0

非常感謝您的建議! WPF Inspector正是我所需要的。有一個「未解決的動態資源」的規則。 – SvenG

相關問題