Windows Phone 7.1 응용 프로그램에서 이상한 예외가 발생하여 정말 미쳤습니다. PivotItem 헤더를 바인딩 할 때 자동 예외가 발생합니다.
이
내가 내 두 가지 간단한PivotItem
있는 간단한
Pivot
항목을 정의를 시작
... 사실은 다음과 같습니다
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<controls:Pivot>
<controls:PivotItem x:Name="PivotItem1"
Header="Test1" />
<controls:PivotItem x:Name="PivotItem2"
Header="{Binding Path=Text2, Mode=OneWay}" />
</controls:Pivot>
<Button Content="Test" Click="Button_Click" />
</Grid>
그리고 이것은 내 코드 숨김 ...
EDIT입니다 : Gambit이 나를 제안 했으므로 더 많은 코드를 보여 드리겠습니다. 실제 상황에서
, 다음 내보기입니다 나는 MVVM이 있습니까하지만,이 경우에 나는이 테스트는 쉬운 방법으로 문제를 재현 할 수있는 상황 ...
을 단순화 :
public partial class MainPage : PhoneApplicationPage, INotifyPropertyChanged
{
private string _text2 = "<Missing>";
public string Text2
{
get
{
return _text2;
}
private set
{
_text2 = value;
NotifyPropertyChanged("Text2");
}
}
public MainPage()
{
InitializeComponent();
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = this;
}
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
private void Button_Click(object sender, RoutedEventArgs e)
{
this.Text2 = "Second page";
}
}
그래서, 그것은 NULL
값의 단지 파라미터 초기화하지 : 당신이 예외를 볼 수 있습니다.
분명히 controls
네임 스페이스 선언을 요청하고 있습니다. 이다 :
Microsoft.Phone.Controls.dll
을 의미
xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
버전 2.0.50727.
내 문제는 바인딩 (나는이 문제를 조사하고 발견으로) 관련이있다 :
Header="{Binding Path=Text2, Mode=OneWay}"
당신이 PivotItem
의 Header
속성에 연결 바인딩을 사용하지 않으면, 모든 것이 잘 작동, 그렇지 않으면 ... ,
A first chance exception of type 'System.Exception' occurred in System.Windows.dll
수동으로 Header
속성을 할당하는 경우 : 응용 프로그램은 완전히 침묵 예외가 발생합니다, 그것은 (만 출력 창에 예외를 볼 수 있습니다) 어떤 경우에 표시되지 않습니다 예외는 발생하지 않습니다.
머리글 속성에 바인딩이 많기 때문에이 예외를 완전히 제거하고 싶습니다. 내 MVVM을 깨뜨리고 싶지 않습니다 ... 또한 매우 귀찮습니다!
정말 관리되지 않는 예외를보고 싶지...
는사람은이 문제에 대해 알고 있나요?
모든 해결책/해결 방법은 무엇입니까?
도움이 될 것입니다 ... 감사합니다!
코드를 사용할 때 예외가 없습니다. 이 문제를 일으킬만한 것이 있습니까? –
@MilanAggarwal 출력 창도 아니십니까? – MAXE
아니, 전혀 예외 없음 –