Java 17 for Absolute Beginners: A Complete Guide to Get Started with Java Programming

Want to start learning Java programming ? This guide is just for you. We’ll cover the basics of Java 17 in simple language— no experience needed! ✅ What You’ll Learn: What is Java? Java 17 Features ( for beginners) Basic Syntax Data Types Operators Conditionals Loops Functions ( Methods) Object- Oriented Programming ( OOP) New Java 17 features ( Text blocks, Records) Practice Program 📌 What is Java? Java is: ✅ A popular and easy- to- learn language ✅ Platform- independent ( write once, run anywhere) ✅ Object- oriented ( based on real- world objects) ✅ Used for apps, websites, games, and more Java 17 is the latest Long- Term Support ( LTS) version, released in 2021. 1. Java 17 Basic Syntax Every Java program has a class and a main() method. public class HelloJava {     public static void main(String[] args) {         System.out.println("Hello, Java 17!");     } } 🔹 Notes: public cla...

Print preview with Print in wpf using MVVM, Prism


 MainWindow.xaml

 <Window x:Class="WpfDemo.Views.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:local="clr-namespace:WpfDemo"
             mc:Ignorable="d" Title="MainWindow">
     <StackPanel Orientation="Vertical" HorizontalAlignment="Center">
         <TextBlock Text="This is Print Preview demo"/>
         <Button Content="Open file dialog" Command="{Binding ClickCommand}"  Margin="10" Width="100"/>
       </StackPanel>
 </Window>

 MainWindow.xaml.cs

  public partial class MainWindow : Window
     {

         public MainWindow()
         {
             InitializeComponent();
             DataContext = new MainWindowViewModel();
         }

     }

 MainWindowViewModel.cs

  public class MainWindowViewModel : BindableBase
     {

         public MainWindowViewModel()
         {


         }

         DelegateCommand _clickCommand;
         public DelegateCommand ClickCommand
         {
             get
             {
                 return _clickCommand = _clickCommand ?? new DelegateCommand(PrintPreview);
             }

         }

         public void PrintPreview()
         {
             using (MemoryStream xpsStream = new MemoryStream())
             {
                 using (Package package = Package.Open(xpsStream, FileMode.Create, FileAccess.ReadWrite))
                 {
                     var packageUriString = Environment.GetEnvironmentVariable("temp") + @"\data.xps";
                     Uri packageUri = new Uri(packageUriString);
                     PackageStore.AddPackage(packageUri, package);

                     XpsDocument xpsDocument = new XpsDocument(package, CompressionOption.Maximum, packageUriString);
                     XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument);


                     PrintTicket printTicket = new PrintTicket();
                     var viewToPrint = Application.Current.MainWindow;
//here you can use your view which you want to print. i am trying to print Mainwindow. 

                     writer.Write(viewToPrint, printTicket);

                     FixedDocumentSequence document = xpsDocument.GetFixedDocumentSequence();

                     xpsDocument.Close();

                     PrintPreviewDialog printPreviewWnd = new PrintPreviewDialog(document);
                     printPreviewWnd.ShowDialog();
                     PackageStore.RemovePackage(packageUri);

                 }

             }
         }
     }

 PrintPreviewDialog.xaml

 <Window x:Class="WpfDemo.Views.PrintPreviewDialog"
         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:local="clr-namespace:WpfDemo"
         mc:Ignorable="d"
         Title="Print Preview">
     <DocumentViewer Document="{Binding}"/>
 </Window>

 PrintPreviewDialog.xaml.cs

   public partial class PrintPreviewDialog : Window
     {
         public PrintPreviewDialog(IDocumentPaginatorSource document)
         {
             InitializeComponent();
             DataContext = document;
         }
     }

Comments

Popular posts from this blog

Filter DataGrid and ListView in wpf using ICollectionView

Pagination of DataGrid in WPF using MVVM

How to Create TabControl using Prism Region