2013-03-12 6 views
1

WPF 탭 컨트롤에 문제가 있습니다.WPF 탭 데이터 템플릿 - 컨트롤이 새 탭을 만들 때 값을 유지합니다.

ObservableCollection에 바인딩 된 ItemsSource가있는 TabControl이 있습니다. 탭의 머리글/내용 부분에 대한 데이터 템플릿을 만들었습니다. 콘텐트 부분에는 레이블과 텍스트 상자가있는 사용자 지정 컨트롤이 포함되어 있습니다. 새 탭을 만들 때 편집 가능한 텍스트 상자의 경우 데이터가 전달되어 새 탭에 나타납니다. 내 XAML 또는 뷰 모델의 문제인지 여부는 확실하지 않습니다. 다음은 XAML 코드입니다.

내가 제공해야하는 다른 정보가 확실하지 않습니다. 어쩌면 이것은 일반적인 문제이며, 나는 올바르게 설정하는 것이 아닙니다. 기본적으로 모든 탭에 대해 컨트롤의 새 인스턴스를 만들 수 있기를 원합니다. 미리 감사드립니다.

+0

새 탭을 만드는 방법을 보여줍니다. 또한, 어떤 데이터가 어디에서 옮겨 졌는지에 대해 좀 더 자세히 설명하십시오. –

+0

성취하고자하는 행동과 그 순간 어떤 행동을 볼 수 있습니까? – Marc

+0

정상적인 TabControl 동작입니다. 'ContentTemplate'을 UserControl에 설정하고 탭을 전환 할 때 템플릿이 변경되지 않기 때문에 WPF는 템플릿의 새 인스턴스를 다시 그릴 이유가 없습니다. 나는 보통 사용자 정의 버전의 TabControl을 사용하여 문제를 해결할 수 있습니다. 코드는 [여기] (http://stackoverflow.com/a/8619120/302677) – Rachel

답변

0

ViewModel이 Singleton이거나, 복제 중이거나, 새 탭에 기존 ViewModel을 채우려는 것처럼 보입니다.

MEF를 사용하는 경우 [PartCreationPolicy] 속성을 NonShared로 설정해야합니다.

관련 문제