Snoop是一款WPF的UI分析工具,方便調試WPF樣式等,快速了解XAML代碼的結構,同時可以對相應的屬性進行修改或調整。它是一個WPF運行時對Visual UI調試的一個工具,解壓就可以使用,需要的朋友快來下載吧。
Snoop(WPF UI分析工具)使用方法
下載安裝后,運行Snoop.exe后出現一個類似工具條的界面:

下拉框中顯示的運行的WPF應用程序,如果還么有打開需要調試的程序,可以打開后再點擊【刷新】按鈕獲取應用程序列表,選中應用程序后,點擊Snoop圖標(
)可以打開Snoop。
左邊是可視化樹列表,選中可視化元素后,右邊中間顯示該元素的屬性,右邊下面是元素的UI預覽界面。

當選中元素后,目標應用程序的響應元素會高亮顯示在一個紅色邊框內。

選中元素可以直接在列表中選擇,也可以按住Ctrl-Shift后移動鼠標到目標應用程序的選擇元素上。
Snoop(WPF UI分析工具)界面面板介紹
可視元素列表(Visual TreeView)

當出現性能問題時可以查看一下子元素的數量,盡量使得子元素數量達到最小。
通過過濾文本框右邊下拉控件可以查找錯誤的綁定。(在調試OpenExpressApp過程中,snoop會出現一些bug,而使得OEA程序關閉,原因不明)
屬性面板(Property Grid)

我更新過屬性值,但是好像沒有反映到目標應用程序中去。
事件視圖(RoutedEvents View)

預覽窗口(Preview Area)

選擇元素的預覽界面,這個由于性能原因默認是關閉的,不過我每次都是打開它,因為可以立刻看到效果:)
放大視圖(Zoom View)/3D Zoom View


Snoop(WPF UI分析工具)調試實例
在開發OpenExpressApp時,發現了一個比較UI上的bug,我就是借助Snoop進行調試解決的,以下是我遇到的問題。
解決UI BUG問題:
在模塊中,點擊Grid中間區域會出現一列長條

解決:
因為看上去有點像splitter控件,所以以為splitter位置出現問題,我把ListDetailForm.xaml列表和明細之間使用ResizingPanel代替Grid,也不是splitter了

發現問題依舊,這時就不知道是什么原因了,從樣子看出來還會是什么東東。這時正好snoop發布了,就用了一把。打開snoop看到這個豎條原來是CSLA中的BusyAnimation。我在Grid中間放置了一個顯示busy狀態的控件,終于找到罪魁禍首了,原來是這個東東在搗亂。
找到原因后就很好解決了,把BusyAnimation的VisibilityProperty綁定一下就可以解決了
//綁定IsVisible
BindingbdIsVisible=newBinding("IsBusy");
bdIsVisible.Source=DataProvider;
bdIsVisible.Converter=newBooleanToVisibilityConverter();
bdIsVisible.BindsDirectlyToSource=true;
busy.SetBinding(BusyAnimation.VisibilityProperty,bdIsVisible);




Mobiscroll插件
java class文件查看工具
net framework 4.0 64位
Visifire圖表控件
小旋風ASP服務器