2009-03-12 4 views
0

Я читал о WPF, и у меня есть следующие проблемы. Обычно, когда мы разрабатываем приложения (в моем случае), старайтесь работать с процентами, которые автоматически корректируют изменения в разрешении.Как можно настроить в приложении WPF, разработанном для изменения разрешения?

В настоящее время я разрабатываю приложение для wpf apreder вместе, чтобы управлять его работой на 1280 * 1024, и когда я захотел увидеть разрешение 1024х768, приложение не будет соответствовать новому разрешению.

Это пример кода AXML.

<Window x:Class="pedido"   
    WindowState="Maximized" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="pedido" 
WindowStyle="None" Name="VentanaPeido" Background="White" BorderThickness="2" AllowsTransparency="False"> 
<Window.Resources>  
    <Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}"> 
     <Setter Property="Visibility" Value="Collapsed" /> 
    </Style> 
</Window.Resources> 

<StackPanel Name="todo" HorizontalAlignment="Center" Width="1280" Height="1024"> 
    <Grid Background="Maroon" Name="grdInicio"> 
     <StackPanel Name="titulo" Width="1280" Height="214"> 
      <StackPanel Height="10"> 
      </StackPanel> 
      <StackPanel Name="tituloLogo" Orientation="Horizontal" HorizontalAlignment="Center"> 
       <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" Width="245" Height="150"> 
        <Image Name="logoAuto" Width="150" Height="148" Stretch="Uniform" HorizontalAlignment="Right" /> 

       </StackPanel> 
       <StackPanel HorizontalAlignment="Center" Width="765" Name="tituloLetras"> 
        <Label Height="67.5" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="1" Name="Mensaje" FontSize="44" Foreground="White" Width="707.5" OpacityMask="Black">Mensaje</Label> 
        <Label HorizontalAlignment="Center" Canvas.Top="180" FontSize="48" FontWeight="Bold" Foreground="Gold" Height="85" Name="NombreTienda" Width="565" OpacityMask="Black">Nombre Tienda</Label> 

       </StackPanel> 

      </StackPanel> 
      <StackPanel.Background> 
       <ImageBrush x:Name="fondoTitulo" Stretch="Uniform"> 
       </ImageBrush> 
      </StackPanel.Background> 
     </StackPanel> 
    </Grid> 

     <StackPanel Name="espacio1" Background="White" Height="12" Width="1280" VerticalAlignment="Top"></StackPanel> 
     <StackPanel Name="panel" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Left" Width="1280" Height="800"> 
      <StackPanel Name="ticket" Orientation="Vertical" HorizontalAlignment="Center" Width="635" Height="1280"> 
       <ListView HorizontalAlignment="center" VerticalAlignment="Top" Name="lvPedido" Height="600" ItemsSource="{Binding}" FontSize="30" IsEnabled="True" IsTextSearchEnabled="False" IsTabStop="False" Grid.IsSharedSizeScope="False" BorderBrush="Black" ItemStringFormat="center" Background="White" FontFamily="Arila" BorderThickness="5" Opacity="3" FontWeight="Bold"> 
        <ListView.View> 
         <!--ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}"--> 
         <GridView ScrollViewer.IsDeferredScrollingEnabled="False" > 

         <GridViewColumn Width="60"> 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock TextAlignment="Left" HorizontalAlignment="Left" Text="{Binding Path=cantidad}"/> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 
         <GridViewColumn Width="316"> 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock TextAlignment="Left" Text="{Binding Path=item}"/> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 
         <GridViewColumn Width="80"> 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock TextAlignment="center" HorizontalAlignment="Center" Text="{Binding Path=moneda}"/> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 

         <GridViewColumn Width="150" > 
          <GridViewColumn.CellTemplate> 
           <DataTemplate> 
            <TextBlock TextAlignment="Right" HorizontalAlignment="Right" Text="{Binding Path=monto}"/> 
           </DataTemplate> 
          </GridViewColumn.CellTemplate> 
         </GridViewColumn> 

         </GridView> 
        </ListView.View> 
       </ListView> 
       <StackPanel HorizontalAlignment="Center" Height="20"></StackPanel> 

       <StackPanel Margin="15" HorizontalAlignment="Right" Width="555" Height="150"> 
        <TextBlock HorizontalAlignment="Center" FontSize="40" Foreground="Black" Height="50" Width="535" FontWeight="Bold" Text="Total"></TextBlock> 
        <TextBlock Name="Monto" HorizontalAlignment="Center" FontWeight="Bold" FontSize="80" Width="565" Height="100" Opacity="2" OpacityMask="Magenta" OverridesDefaultStyle="True" Foreground="White">monto</TextBlock > 
       </StackPanel> 

       <StackPanel.Background> 
        <ImageBrush x:Name="fondo1"> 
        </ImageBrush> 
       </StackPanel.Background> 
      </StackPanel> 
     <StackPanel Width="10" Height="800" Background="White"></StackPanel> 
      <StackPanel Name="imagenProducto" VerticalAlignment="Top" Orientation="Vertical" HorizontalAlignment="Center" Width="635" Height="800"> 

      <StackPanel Name="Imagen1"> 
       <Image Name="itemP" Width="635" Height="299" Stretch="Uniform" Margin="2"/> 
      </StackPanel> 
      <StackPanel Name="Espacio" Background="White" Width="635" Height="10"></StackPanel> 

       <StackPanel Name="Video" Width="635" Height="299" VerticalAlignment="Top"> 
       <MediaElement Name="Promo" Stretch="Uniform" Width="635" Height="299" LoadedBehavior="Manual" UnloadedBehavior="Stop" MediaEnded="Promo_MediaEnded"/> 
       <StackPanel.Background> 
        <ImageBrush x:Name="videoPromo" Stretch="Uniform"> 
        </ImageBrush> 
       </StackPanel.Background> 
      </StackPanel> 
      <StackPanel Name="Imagen2" Visibility="Collapsed" Width="635" Height="299"> 
       <Image Name="itemS" Width="635" Height="299" Stretch="Uniform" Margin="2" Tag="true" /> 
      </StackPanel> 
      <StackPanel.Background> 
       <ImageBrush x:Name="fondo2"> 
       </ImageBrush> 
      </StackPanel.Background> 
     </StackPanel> 


     </StackPanel> 

</StackPanel> 

Я делаю неправильные вещи? Есть лучшая практика?

Большое спасибо

+0

Я не понимая вопроса. – Micah

ответ

0

Добрый день,

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

Не забудьте, что он определяет фиксированный размер объектов (таких как я), действие стремится увеличить размер окна.

Решение будет код:

<Window x:Class="pedido"   
    WindowState="Maximized" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="pedido" 
WindowStyle="None" Name="VentanaPeido" Background="White" BorderThickness="2" AllowsTransparency="False"> 
<Window.Resources>  
    <Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}"> 
     <Setter Property="Visibility" Value="Collapsed" /> 
    </Style> 
</Window.Resources> 

<StackPanel Name="todo" HorizontalAlignment="Center" Width="1280" Height="1024"> 
<Viewbox> 
     <......> 
    </Viewbox> 

</StackPanel> 

Если кто-то получает другое решение или чистящего идти вперед написать его

+0

VentanaPeido воняет на португальском языке. :-) –

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