2016-05-24 2 views
0

Я начинаю с разработки в WPF и C# Я узнал некоторые вещи, так как я пришел из Windows Forms, но я столкнулся с ситуацией, которая не является решением, я благодарю своего гида ,Настройка окна в WPF

Я получаю следующее окно меню через вызов пользовательского элемента управления и рисую его в рамке, но выглядит так.

Form

Вы видите управления пользователя выше дополнительного меню, чтобы максимизировать форму остается тем же, вы знаете, как я могу решить ??

Это XAML главного окна.

<controls:MetroWindow x:Class="Laboratorio.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" 
    mc:Ignorable="d" 
    Title="Sistema de Control y Gestion de Laboratorio" 
    Height="650" Width="825" 
    BorderThickness="0"  
    GlowBrush="Black" 
    ResizeMode="CanResizeWithGrip" 
    WindowTransitionsEnabled="False" 
    Loaded="MainWindow_OnLoaded" 
    WindowStartupLocation="CenterScreen"> 
<!-- Menu --> 
<Grid> 
    <Menu Name="MenuPrincipal"> 

    </Menu> 
    <Frame Name="Contenido"></Frame> 
</Grid> 

и этого пользовательского элемента управления

<UserControl x:Class="Laboratorio.RegistroEquipo" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     Loaded="RegistroEquipo_OnLoaded" 
     mc:Ignorable="d" 
     d:DesignHeight="450" d:DesignWidth="545"> 
<Grid> 
    <GroupBox Header="Registro de Equipo"> 
     <Grid> 
      <Label x:Name="serialLbl" Content="Serial:" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="serialTxb" HorizontalAlignment="Left" Height="23" Margin="89,11,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140"/> 
      <Label x:Name="descripcionLbl" Content="Descripcion:" HorizontalAlignment="Left" Margin="263,11,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="descripcionTxb" HorizontalAlignment="Left" Height="23" Margin="362,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140"/> 
      <Label x:Name="marcaLbl" Content="Marca:" HorizontalAlignment="Left" Margin="10,49,0,0" VerticalAlignment="Top"/> 
      <ComboBox x:Name="marcaCbb" HorizontalAlignment="Left" VerticalAlignment="Top" Width="140" Margin="89,49,0,0"/> 
      <Label x:Name="claseLbl" Content="Clase:" HorizontalAlignment="Left" Margin="263,49,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="claseTxb" HorizontalAlignment="Left" Height="23" Margin="362,49,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140"/> 
      <CheckBox x:Name="externoChk" Content="Externo" HorizontalAlignment="Left" Margin="10,91,0,0" VerticalAlignment="Top"/> 
      <CheckBox x:Name="patronchk" Content="Patron" HorizontalAlignment="Left" Margin="171,91,0,0" VerticalAlignment="Top"/> 
      <Label x:Name="articuloLbl" Content="Articulo:" HorizontalAlignment="Left" Margin="263,87,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="articuloTxb" HorizontalAlignment="Left" Height="23" Margin="362,87,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140"/> 
      <Label x:Name="articuloLbl_Copy1" Content="Responsable:" HorizontalAlignment="Left" Margin="10,127,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="responsableTxb" HorizontalAlignment="Left" Height="23" Margin="89,127,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140"/> 
      <TextBox x:Name="nombreTxb" HorizontalAlignment="Left" Height="23" Margin="263,127,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="239"/> 
      <Label x:Name="observacionLbl" Content="Observacion:" HorizontalAlignment="Left" Margin="10,175,0,0" VerticalAlignment="Top"/> 
      <TextBox x:Name="observacionTxb" HorizontalAlignment="Left" Height="79" Margin="10,223,0,0" TextWrapping="Wrap" AcceptsReturn="True" VerticalAlignment="Top" Width="503"/> 
      <Button x:Name="registrarBtn" Content="Registrar" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="154,338,0,0" Click="Registrar_OnClick"/> 
      <Button x:Name="salirBtn" Content="Salir" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="263,338,0,0"/> 
     </Grid> 
    </GroupBox> 
</Grid> 

+0

Я не вижу, где вы создали экземпляр RegistroEquipo в вашем MainWindow.xaml. Я предполагаю, что это связано с размещением меню и фрейма внутри сетки, а сетка укладывает объекты друг на друга (предполагая, что здесь вы подключаете свой UserControl. – sfm

ответ

2

Включите это;

<!-- Menu --> 
<Grid> 
    <Menu Name="MenuPrincipal"> 

    </Menu> 
    <Frame Name="Contenido"></Frame> 
</Grid> 

в это;

<!-- Menu --> 
<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="Auto"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <Menu Name="MenuPrincipal"/> 
    <Frame Grid.Row="1" Name="Contenido"/> 

</Grid> 

Или просто поменять Grid для StackPanel какой вы предпочитаете.

+0

Спасибо, только то, что вы говорите я разрешаю проблему. Позвольте мне войти в «RowDefinition», добавлены 2 строки, ссылающиеся на меню и на фрейм? – Cristian

+1

Я просто определяю количество строк, в которых содержится ваша «Grid». В противном случае он просто уложит свои дети сверху друг друга в соответствии с их z-индексом. Когда вы добавляете 'Grid.Row =" 1 "' ко второму объекту, который вы объявляете, он принадлежит во второй строке вашей 'Grid', потому что количество строк начинается с 0. Итак 0 - первая строка, 1 - вторая строка и т. Д. , и т. д. –

+0

Большое спасибо за вашу помощь и ценное учение. – Cristian

1

Это не ваше приложение/XAML, это визуальный инструмент Студия используется для отладки.

Когда приложение запущено, вернитесь в Visual Studio, перейдите к Живой Визуальное дерево, и вы можете отключить «инструменты Показать время выполнения в приложении» (первая кнопка на панели инструментов)

enter image description here

+0

Спасибо @sfm, я имею в виду меню приложение, «групповой ящик» находится над меню и редактирует изображение. – Cristian

+0

Ах, извините, я не поймал этого. Игнорируйте этот ответ. – sfm

+0

Это все еще чертовски удобно. –

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