2014-11-04 4 views
0

У меня есть окно с ContentControl, которое я использую для имитации навигации мастера, которая работает нормально. Чтобы реорганизовать какой-то код, я извлекаю форму внутри одного из UserControl Wizard, который я использую в другом Окне точно таким же образом ...WPF ContentControl внутри другого ContentControl не отображается

UserControl, который я извлекаю, отлично работает в другом окне (не в мастере), но не внутри моего UserControl внутри Мастера ... Я использую ContentControl в обеих ситуациях ...

Я не получаю ошибок ... I 'отлаживается, и конструктор вызывается в обоих случаях, но внутри Мастера он не появляется, просто это.

код из простого окна является:

<Controls:MetroWindow x:Class="Desktop.Views.FilePropertiesViewModel"> 
    <Grid> 
    <ScrollViewer VerticalScrollBarVisibility="Visible"> 
     <ContentControl x:Name="DocumentPropertyListViewModel" /> 
    </ScrollViewer> 
    </Grid> 
</Controls:MetroWindow> 

А в коде позади, в конструкторе моего окна

public DocumentPropertyListViewModel DocumentPropertyListViewModel { get; set; } 
public FilePropertiesViewModel(){ 
    this.DocumentPropertyListViewModel = new DocumentPropertyListViewModel(File.Properties, false); 
} 

Разница, как, как сказал это (в качестве эталона, не реальный код):

<ContentControl x:Name="Wizard"> <!-- Loading plenty of UserControls> 
    <ContentControl x:Name="DocumentPropertyListViewModel" /> <!-- One of the UserControls has this --> 
</ContentControl> 

Кстати, я использую Caliburn.Micro, поэтому я использую ContentControl ИНСТЕ объявление обычной ссылки UserControl, я не мог понять, как это сделать другим способом ...

Я здесь что-то не так?

+0

Итак, у вас настроен CM, и он работает, но у вас есть тот элемент управления, который не найден? Во-вторых, вы используете codebehind и не viewmodels? может захотеть изменить ваши теги Caliburn! = Caliburn.Micro, сделанные одним и тем же человеком, но немного отличающиеся. – mvermef

+0

Элемент управления найден, все называется правильно, оно просто не появляется в usercontrol внутри моего мастера. Я использую viewmodel, ничего не имею в коде. –

+0

Вы раньше использовали LogManager? Я бы предположил, что есть проблема с привязкой ... – mvermef

ответ

0

Вы могли бы дать этому попытку ...

<ContentControl x:Name="Wizard"> <ContentControl cm:View.Model="{Binding DocPropListViewProp}" /> </ContentControl>

Где DocPropListViewProp является ViewModel свойство типа DocumentPropertyListViewModel в главном окне ViewModel

And in the code behind, in the constructor of my Window public DocumentPropertyListViewModel DocumentPropertyListViewModel { get; set; } public FilePropertiesViewModel(){ this.DocumentPropertyListViewModel = new DocumentPropertyListViewModel(File.Properties, false); } Тем не менее обеспокоены выше с фрагментом кода, который вы указали, указав, что у вас есть это в коде, вы имели в виду ViewModel?

И какой контейнер вы используете для IoC: MEF, SimpleContainer и т. Д.?? Ничего?

+0

Спасибо, человек, мне потребовалось некоторое время, чтобы вернуться к этому ... Мне нужно было изменить свойство, чтобы уведомить, когда изменилось значение тоже –

Смежные вопросы