I Have 2 Window In My Project. One Of This Is MainWindow.xaml Other One Is Control_Page.xaml. I Would Like To Insert Control Page Window To ColumnDefinition And RowDefinition. This Definitions Defined On MainWindow.
Here Is My Code:
<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>
I Was Called The Control_Page To A Var. Then Try As Children To The Main Window But It Does Not Work.
I Tried This Can't Solve This Problem.
Code Behind;
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);
}
}
Inserting a window as a child of another window is not possible, you will end up with a {"Window must be the root of the tree. Cannot add Window as a child of Visual."} exception.
You can add your Control_Page.xaml as an UserControl to your grid. Herefore make sure to change to type from Window to UserControl in that .xaml file (and also in the corresponding .cs file)
<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>