2017-09-24 4 views
0

J'ai une application qui fonctionne sur différents écrans. J'ai préparé des formulaires en format A4 dans ma fenêtre. quand je cours sur mon PC il n'y a pas de problèmes aussi bien que sur un téléviseur 42 pouces. J'ai essayé d'installer l'application sur un autre ordinateur de 22 pouces et l'écran coupe ma fenêtre visuellement et en impression. il suit mon XAML et le code C# pour l'impressionapplication wpf exécuté sur différents écran

<StackPanel Background="White" Height="29.7cm" Width="19.5cm" > 
<StackPanel Name="StackFoglioA4Pag1" HorizontalAlignment="Center" Margin="20" Background="White"> 
          <!--<TextBox HorizontalContentAlignment="Center" BorderBrush="Black" Text="ciane S.p.A." VerticalContentAlignment="Center" IsReadOnly="True" FontWeight="Bold" FontFamily="Times New Roman" FontSize="14"></TextBox> 
          <TextBox Padding="2" HorizontalContentAlignment="Center" BorderBrush="Black" BorderThickness="1,0,1,1" Text="Main "- VerticalContentAlignment="Center" IsReadOnly="True" FontFamily="Times New Roman" FontSize="9"></TextBox> 
          <TextBox Padding="2" HorizontalContentAlignment="Center" BorderThickness="1,0,1,1" BorderBrush="Black" Text="textggggggg " VerticalContentAlignment="Center" IsReadOnly="True" FontFamily="Times New Roman" FontSize="9"></TextBox>--> 
          <DockPanel Margin="0,5,0,0"> 
        <!--etc etc 

public static void StampaStackPanel(StackPanel StackPanel,string message) 
    { 
     PrintDialog stampa = new PrintDialog(); 
     if (stampa.ShowDialog() != true) return; 

     stampa.PrintVisual(StackPanel,message); 
    } 

modifier:

dans mon pc je vois l'image complète dans l'autre moniteur (plus) je le vois coupé

enter image description here

mise à jour: enter image description here

+0

Son pas très claire, ce que vous essayez de faire? Ouvrez la boîte de dialogue d'impression dans un autre écran Windows ?? –

+0

désolé. J'ai un bouton qui imprime simplement le panneau de la pile (format A4) sur une feuille A4. le problème est que sur mon pc il n'y a pas de problèmes. tandis que dans un autre PC, il coupe le panneau de la pile sur l'écran et l'impression – Disaji

+0

Vérifiez cette réponse, il peut aider: https://stackoverflow.com/questions/6606750/show-dialog-box-at-center-of-its -parent –

Répondre

0

Essayez

stampa.Location = new Point(//WhereYouWanX, //WhereYouWantY); 
+0

wpf doesn t "Lieu" – Disaji

0

Windows.Forms.Screen

var view= new YourView(); 
var screens = System.Windows.Forms.Screen.AllScreens[1].WorkingArea; 
view.Location = new Point(rectMonitor.Left, rectMonitor.Top); 
+0

plz marquer comme réponse si la réponse a été utile –

+0

peut-être la faute est à moi que je n'ai pas bien expliqué. Si je change ma résolution d'écran sur mon PC, mon application fonctionne bien pour chaque résolution. cependant quand je l'installe sur un autre ordinateur, il me donne une vue différente de celle qui m'a donné sur mon pc avec la même résolution – Disaji

+0

c'est un exemple, et vous pouvez utiliser 'foreach' sur 'System.Windows.Forms.Screen. AllScreens ' –