2011-01-03 4 views
5

디버깅 중에 바인딩 식 오류가 발생하면 Visual Studio의 출력 창에 오류가 기록됩니다. 다음과 같이 보입니다.바인딩 식 예외에 대한 예외

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').. 

대신이 오류를 처리되지 않은 예외로 처리 할 수 ​​있습니까? 바인딩 오류가 발생하면 Silverlight 앱이 계속 실행되는 것을 원하지 않습니다.

답변

2

추적 오류를 포착 할 수 있습니다.
은 (리스너는 외부 DLL에 있어야합니다.)

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(); 
     } 
    } 
} 

이 실버 라이트 작동하지

<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에 추가. TraceListener 클래스 없음 ... –

+0

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

+0

아브람에게 : 현재 실버 라이트 (SL5)는 불가능합니다. –

관련 문제