private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
RichTextBox myRTB = new RichTextBox();
ListViewItem lvi1 = new ListViewItem();
ListViewItem lvi2 = new ListViewItem();
lvi1.Content = myRTB;
lvi2.Content = myRTB;
this.lstView1.Items.Add(lvi1);
this.lstView2.Items.Add(lvi2);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
두 기계 :
기계 1 : 윈도우 7 32 비트,
머신이 설치 .net4.0 :WPF는 다른 환경에서 다른 동작을합니까?
를 설치 한 윈도우 8 64 비트, .net4.0/4.5 위의 코드는 항상 기계 1에 충돌 예외로 "지정된 요소가
누군가가 자세한 explanatio을 가질 수 (lvi2의 내용이 실제로 비어)는 기계 (2)에서 작동합니다. 먼저 분리, 이미
다른 요소의 논리적 자식 그러나 그런 일이 왜 N,? :
추가 (참고 테스트 응용 프로그램을 VS2010로 구축되어, 4.0 .NET) : 다음 코드는 동일한 문제를 가지고 (기계 2 일을하지 기계 1)
try
{
RichTextBox myRTB = new RichTextBox();
ListViewItem lvi1 = new ListViewItem();
lvi1.Content = myRTB;
this.lstView1.Items.Add(lvi1);
this.lstView1.Items.Remove(lvi1);
ListViewItem lvi2 = new ListViewItem();
lvi2.Content = myRTB;
this.lstView2.Items.Add(lvi2);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
내 자신이 있었기 때문에 4.5가 myRTB의 인스턴스를 시각적 트리의 새 위치로 옮기는 것이 좋다고 생각합니다. 4.0에서 충돌이 발생하는 경우 코드가 예상대로 작동하지 않거나, myRTB의 2 개의 영상을 얻지 못합니다. – Andy