2016-05-31 3 views
1

У меня есть 2 окна в моем проекте. Один из них - MainWindow.xaml Другой - Control_Page.xaml. Я хотел бы вставить окно контрольной страницы в ColumnDefinition и RowDefinition. Определения, определенные в MainWindow.Другое окно в колонке Определение

Вот мой код:

<Grid x:Name="Grid_Main" SnapsToDevicePixels="True"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="312*"/> 
     <ColumnDefinition Width="353*"/> 
     <ColumnDefinition Width="351*"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="187*"/> 
     <RowDefinition Height="187*"/> 
     <RowDefinition Height="186*"/> 
     <RowDefinition Height="178*"/> 
    </Grid.RowDefinitions> 

    <Grid Grid.Column="0" Grid.Row="0" Margin="0"/> 
    <Grid Grid.Column="1" Margin="0"/> 
    <Grid Grid.Column="2" Margin="0"/> 
    <Grid Margin="0" Grid.Row="1"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="1"> 
     <Button Content="Button" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
    </Grid> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="1"> 
     <Button x:Name="button1" Content="Button" HorizontalAlignment="Center" Margin="0" VerticalAlignment="Center"/> 
    </Grid> 
    <Grid Margin="0" Grid.Row="2"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="2"/> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="2"/> 
    <Grid Margin="0" Grid.Row="3"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="3"/> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="3"/> 
</Grid> 

Я был назван Control_Page To A Var. Затем попробуйте как дети в главное окно, но оно не работает.

Я пробовал это не решить эту проблему.

Код позади;

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     var newWindow = new Control_Page(); 
     Grid.SetRow(newWindow, 0); 
     Grid.SetColumn(newWindow, 0); 
     Grid_Main.Children.Add(newWindow); 
    } 
} 
+0

1) Вы хотите добавить 'Control_Page' динамически или статически? 2) Зачем вам нужно столько сеток внутри сетки? – Dennis

+0

Здравствуйте, Деннис, я создам много окон и динамически меняю положение Windows на строках или столбцах. Затем для выбранного окна будут использоваться 2x2 ячейки с методом Span для выбранного окна (будет следующей главой), чтобы сделать его более сложным. –

ответ

0

Вставка окна, как ребенок другого окна не возможно, вы будете в конечном итоге с { «Окно должно быть корнем дерева. Невозможно добавить окно в качестве дочернего Visual.»} Исключение.

Вы можете добавить свой Control_Page.xaml в качестве UserControl в свою сетку. Herefore убедитесь, чтобы изменить тип из окна в UserControl в этом .xaml файл (а также в соответствующем .cs файле)

<Grid x:Name="Grid_Main" SnapsToDevicePixels="True"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="312*"/> 
     <ColumnDefinition Width="353*"/> 
     <ColumnDefinition Width="351*"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="187*"/> 
     <RowDefinition Height="187*"/> 
     <RowDefinition Height="186*"/> 
     <RowDefinition Height="178*"/> 
    </Grid.RowDefinitions> 

    <Control_Page Grid.Column="0" Grid.Row="0" /> 

    <Grid Grid.Column="0" Grid.Row="0" Margin="0"/> 
    <Grid Grid.Column="1" Margin="0"/> 
    <Grid Grid.Column="2" Margin="0"/> 
    <Grid Margin="0" Grid.Row="1"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="1"> 
     <Button Content="Button" Margin="0" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
    </Grid> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="1"> 
     <Button x:Name="button1" Content="Button" HorizontalAlignment="Center" Margin="0" VerticalAlignment="Center"/> 
    </Grid> 
    <Grid Margin="0" Grid.Row="2"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="2"/> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="2"/> 
    <Grid Margin="0" Grid.Row="3"/> 
    <Grid Grid.Column="1" Margin="0" Grid.Row="3"/> 
    <Grid Grid.Column="2" Margin="0" Grid.Row="3"/> 
</Grid> 
+0

Thank You Laskoran Let It Try Полезно :) –

+0

Спасибо, что это работает! –

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