操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    點擊藍字“大白技術控”關注我喲

    加個“星標★”,每日良時,好文必達!

    WPF中的Data 如何Debug?

    大家平時做WPF開發,相信用 的小伙伴比較多。XAML代碼曾經在某些特殊版本的 中是可以加斷點進行調試的,不過目前多數版本都不支持在XAML加斷點來調試。

    那如果自己需要綁定的 沒生效,該怎么去檢測或Debug排查問題呢?下面大白給出幾種自己用過的方法,本人的開發環境是 Win10專業版x64 + 2019專業版v16.2.2,以下內容中給出了詳細步驟的方法都親測有效。

    方法1: 修改注冊表 + 修改文件

    在注冊表中增加一個選項,

    具體做法是,在目錄\\中創建文件夾, 然后在其里面創建子文件夾WPF安裝vs2015時功能選擇,然后新建一個DWORD(32位)值,將其值設置為1.

    注冊表

    也可以將下面的文件另存為 trace.reg,然后雙擊進行設置。

    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Tracing\WPF]"ManagedTracing"=dword:00000001

    接下來,需要在你的的能影響 .exe.生成的那個 .文件下加入折疊區域的內容:

    App.

    由于我這邊相關的文件就是App.,所以只需在App.中加入該內容。

    圖中折疊的部分如下:

    安裝vs2015時功能選擇_選擇計算機電源時,功率選擇越大越好_另外 術者在選擇手術入路時應注意 選擇鷹嘴窩上緣

      <system.diagnostics>    <sources>      <source name="System.Windows.Data" switchName="BindingSwitch" >        <listeners>          <add name="BindingTextListener" />        listeners>         source>             
    <source name="System.Windows.DependencyProperty" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.Freezable" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.RoutedEvent" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.Media.Animation" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.NameScope" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.ResourceDictionary" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.Markup" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source>
    <source name="System.Windows.Documents" switchName="BindingSwitch" > <listeners> <add name="BindingTextListener" /> listeners> source> sources> <switches> <add name="BindingSwitch" value="All" /> switches> <sharedListeners> <add name="BindingTextListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="BindingTrace.log" />
    <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/>
    <add name="BindingXmlListener" type="System.Diagnostics.XmlWriterTraceListener" traceOutputOptions="None" initializeData="BindingTrace.xml" /> sharedListeners>
    <trace autoflush="true" indentsize="4">trace> system.diagnostics>

    設置好后,你build這個wpf項目后,當啟動Debug時,在其相應的debug目錄下會多出一個 .log文件,比如, 我這邊的內容上這樣的:

    WPF -日志文件

    我配置監聽器()時,將debug的信息設置成了.log格式,與.txt格式相比其優勢是: 當用vs code打開時,自帶高亮,看起來比較爽。

                <add name="BindingTextListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="BindingTrace.log" />

    當然也有小伙伴希望將Trace信息導出為xml,也可以的,只需將加入內容開頭部分的:

      <source>  <listeners>      <add name="BindingTextListener" />    listeners>     source>     

    改為:

           <source name="System.Windows.Data" switchName="BindingSwitch" >    <listeners>      <add name="BindingXmlListener" />    listeners>   source>

    即可。

    那么,此時在其相應的debug目錄下會多出一個 .xml文件,我這邊的內容上這樣的:

    .xml

    參考:

    WPF | Debug

    45- · /old-wpf-blog

    另外 術者在選擇手術入路時應注意 選擇鷹嘴窩上緣_選擇計算機電源時,功率選擇越大越好_安裝vs2015時功能選擇

    方法2: 在XAML中設置 + 在xaml中需要debug的View對應的 .xaml.cs文件中啟用WPF Trace

    該方法適用于 .NET 3.5以后(包括 .NET core)的WPF .

    首先需要給該View的xaml文件的某個節點加入rces.="High",

    "CaliburnMicro_Calculator.Views.CalculatorView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"             xmlns:local="clr-namespace:CaliburnMicro_Calculator.Views"             xmlns:cal="http://www.caliburnproject.org"             mc:Ignorable="d"             Width="240">

    我這邊直接在這個view的根節點中加入rces.="High",結果如下:

    "CaliburnMicro_Calculator.Views.CalculatorView"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"             xmlns:local="clr-namespace:CaliburnMicro_Calculator.Views"             xmlns:cal="http://www.caliburnproject.org"             mc:Ignorable="d"             Width="240" PresentationTraceSources.TraceLevel="High">

    此時,我們還需要在目標View的對應的 .xaml.cs文件中啟用WPF Trace.

                // Enable WPF tracing            PresentationTraceSources.Refresh();            PresentationTraceSources.DataBindingSource.Listeners.Add(new ConsoleTraceListener());            PresentationTraceSources.DataBindingSource.Switch.Level = SourceLevels.All;

    此時,在(輸出窗口)就可以看到數據綁定的相關信息了。

    窗口

    可能有人會好奇中的紅色字體是怎么來的,vs的默認是黑色。

    其實安裝一個vs插件就好了,傳送門:

    .

    當然,你還可以在此時啟用"診斷工具",位置是:調試 -> 窗口 -> 顯示診斷工具安裝vs2015時功能選擇,配合起來用起來更爽喔~

    VS中顯示診斷工具方法3: 2019 (16.4之后的版本)安裝 XAML

    選擇計算機電源時,功率選擇越大越好_另外 術者在選擇手術入路時應注意 選擇鷹嘴窩上緣_安裝vs2015時功能選擇

    這個VS插件由微軟XAML團隊推出,看起來像是實現了方法1或方法2的自動化。

    XAML for 2019 下載地址:

    相關代碼已開源:

    /xaml--tool: XAML error in a 2019

    當安裝好這個插件時,重啟VS就可以用了,debug時,調試窗口中會多一個選項"XAML ()"。點擊該選項,debug相關窗口中會顯示Data 的詳細信息。

    XAML ()

    此時,WPF trace level附近的...還可以點擊進行設置。

    XAML 插件 設置方法4: 使用第三方debug工具

    首推Snoop,這個工具大概2006年就出來了,歷史悠久,最初由微軟Blend團隊的Pete Blois開發,功能也異常強大,而且目前也一直有Cory 等人負責維護和更新。

    Snoop主界面

    左上角支持,屬性或層級很多時,可以快速定位目標節點。

    Snoop中的Tree, , Data 均支持(過濾搜索),而和Data 都可以打斷點。

    當某個屬性的值改變時,整個屬性的背景更改為黃色高亮一秒鐘,以吸引用戶注意。

    Snoop允許你查看您在應用程序中指定的事件列表。當你單擊元素時,你可以看到哪些元素受到影響,并查看哪個(方法或任何人)處理了該點擊。的事件以綠色顯示。這是Snoop提供的查看隧道和事件冒泡傳遞之間的區別的強有力方法,特別是當這些事件處理得太快或根本不處理,它們如何影響您的可視化元素。

    另外 術者在選擇手術入路時應注意 選擇鷹嘴窩上緣_選擇計算機電源時,功率選擇越大越好_安裝vs2015時功能選擇

    當出現 error時,可以選擇應用程序右側的屬性,然后右鍵單擊以深入了解綁定或綁定表達式,以便給出更詳細的錯誤說明。

    在Snoop的左上角,有一個下拉框可以打開,然后選擇"Show only with "以查看應用程序所具有的可視數據綁定錯誤列表。

    設置"Show only with "

    Snoop 的一個眾所周知的功能是能夠識別數據綁定問題。當看到組件是否綁定正確時,我通常只是嘗試一下,看看它是否有效。如果無效,我轉向 調試模式下的窗口。如果無法立即看到該值,我會這樣做:將 Snoop 附加()到我的應用,并從應用程序樹視圖上方的搜索/篩選器欄中選擇"Show only with "選項。

    和Debug的步驟如下:

    然后在snoop上依次點:

    按鈕, Snoop按鈕(望遠鏡),借助找需要的目標元素,接下來 debug就比較順暢了。

    還可以使用它來顯示任何具有綁定錯誤( error)的控件(就像word中的拼寫檢查一樣):

    Snoop 中的綁定錯誤會紅色高亮顯示

    也有小伙伴在用或WPF ,不過這個工具好久沒更新了。

    WPF 這個項目之前是在上的,后來沒人維護了,目前有人手動fork到上,但沒見任何更新。

    還有小伙伴用 Mole這個 插件,對于這個插件,Snoop的維護者Cory 等人也有參與喔,有興趣的朋友可以去試試~

    Mole for 插件下載:

    Mole for VS 2015 is from the

    另外 術者在選擇手術入路時應注意 選擇鷹嘴窩上緣_安裝vs2015時功能選擇_選擇計算機電源時,功率選擇越大越好

    .

    Mole for VS 2017 is from the

    .

    Mole for VS 2019 is from the

    .

    mole其他方法:

    這兩種方法本人不太熟悉,有興趣的可以自己找相關資料去試試哈~有問題歡迎留言交流~

    End

    歡迎各位讀者加入.NET技術交流群,在公眾號后臺回復“加群”或者“學習”即可。

    文末彩蛋微信后臺回復“asp”,給你:一份全網最強的ASP.NET學習路線圖。

    回復“cs”,給你:一整套 C# 和 WPF 學習資源!

    回復“core”,給你:2019年大會上發布的.NET core 3.0學習視頻!

    回復“so”,給你:一套給力的 超級搜索力視頻 課程!

    轉發至朋友圈,是對我最大的支持。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有