2014-09-07 3 views
2

У меня есть окно без заголовка.Binding ContentControl Content with Window Content

<Window x:Class="WpfApplication1.PopupWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" 
     WindowStyle="None" ResizeMode="NoResize" 
     AllowsTransparency="True" Background="Transparent"> 
    <Border Margin="10"> 
     <Border.Effect> 
      <DropShadowEffect Color="Black" 
           Direction="270" 
           BlurRadius="10" 
           ShadowDepth="3" /> 
     </Border.Effect> 
     <Grid Background="White"> 
      <DockPanel> 
       <DockPanel Name="titleBar" 
          DockPanel.Dock="Top" 
          Height="32" 
          Background="LimeGreen"> 
        <TextBlock Padding="8" 
           VerticalAlignment="Center" 
           Text="My Special Window" 
           Foreground="White" 
           FontWeight="999" 
           FontSize="16" /> 
       </DockPanel> 
       <ContentControl Name="content" /> 
      </DockPanel> 
     </Grid> 
    </Border> 
</Window> 

У меня есть malty Usercontrols, которые загружаются в PopupWindow.

В viewmodel я показываю это окно с различным контентом.

SearchViewModel vm = new SearchViewModel(); 
SearchView view = new SearchView(); 
view.DataContext = vm; 
PopupWindow window = new PopupWindow(); 
window.Owner = Application.Current.Windows.OfType<Window>().SingleOrDefault(x => x.IsActive); 
window.Content = view; 
window.ShowDialog(); 

SearchView набор для содержания PopupWindow, но я хочу, чтобы установить SearchView для содержания ContentControl. Как это сделать?

ответ

2

Вместо установки содержимого на окне, установите его прямо на ContentControl:

window.content.Content = view; 
+0

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

+0

Доступно также из другого класса. Вы пытались получить к нему доступ? –

+0

Нет, я использую '' –

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