2011-01-03 16 views
5

Hata ayıklama sırasında bir ciltleme ifadesi hatası oluşursa, hata Visual Studio'daki Çıktı penceresine kaydedilir. Şöyle görünüyor:Ciltleme ifade hatasıyla ilgili istisna

System.Windows.Data Error: BindingExpression path error: 'User' property not found 
on 'MainPageVM' 'MainPageVM' (HashCode=38694667). BindingExpression: Path='User.FullName' 
DataItem='MainPageVM' (HashCode=38694667); target element is 'System.Windows.Controls.TextBlock' 
Name=''); target property is 'Text' (type 'System.String').. 

Bu hatayı yerine işlenmeyen bir istisna olarak ele almanın bir yolu var mı? Bağlanma hatası oluştuysa Silverlight uygulamamın çalışmaya devam etmesini istemiyorum.

cevap

2

İzleme hatalarını yakalayabilirsiniz.
(dinleyici harici dll olmalıdır.)

namespace CustomTracer 
{ 
    public class CustomTraceListener : TraceListener 
    { 
     public CustomTraceListener() 
     { 
     } 

     public override void Write(string message) 
     { 
     } 

     public override void WriteLine(string message) 
     { 
      if(Debugger.IsAttached) 
       Debugger.Break(); 
     } 
    } 
} 

bu Silverlight için çalışmıyor

<system.diagnostics> 
    <sources> 
     <source name="System.Windows.Data" switchName="OnlyErrors" > 
     <listeners> 
      <add name="textListener" type="CustomTracer.CustomTraceListener,CustomTracer"/> 
     </listeners> 
     </source> 
    </sources> 
    <switches> 
     <add name ="OnlyErrors" value ="Error"/> 
    </switches> 
    </system.diagnostics> 
+0

App.Config ekle. Hayır TraceListener sınıfı ... –

+0

@KonstantinSalavatov http://forums.silverlight.net/t/65524.aspx/1 – Avram

+0

Avram'a: Şu anda Silverlight için mümkün değil (SL5) –

İlgili konular