App.xaml.cs
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Windows; using System.Windows.Navigation; namespace Bytescout.BarCode.WebDemo { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { } }
MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Bytescout.BarCode.WPF;
using Bytescout.BarCode;
namespace Bytescout.BarCode.WebDemo
{
///
public partial class MainPage : Page
{
#region Constants
private const int BarHeight = 50;
private const int PdfBarHeight = 6;
#endregion
#region Constructor
///
public MainPage()
{
InitializeComponent();
}
#endregion
#region Controls event handlers
///
/// The source of the event.
/// The
{
UpdateBarcode();
}
///
/// The source of the event.
/// The
{
UpdateBarcode();
}
///
/// The source of the event.
/// The
{
SaveToFile();
}
///
/// The source of the event.
/// The
{
ctrlBarcodeControl.DrawCaptionFor2DBarcodes = chkDrawCaptionFor2D.IsChecked.Value;
}
///
/// The source of the event.
/// The
{
ctrlBarcodeControl.AutoFitToControlSize = chkAutoFitToContainer.IsChecked.Value;
}
///
/// The source of the event.
/// The
{
}
///
/// The source of the event.
/// The
{
UpdateBarcode();
}
///
/// The source of the event.
/// The
{
UpdateBarcode();
}
#endregion
#region Private implementation
public object[] GetObjectsFromEnum()
{
object[] objArray = new object[Enum.GetValues(typeof(SymbologyType)).Length];
for (int i = 0; i < objArray.Length; i++)
{
objArray[i] = ((SymbologyType)Enum.GetValues(typeof(SymbologyType)).GetValue(i)).ToString();
}
return objArray;
}
private void UpdateBarcode()
{
SymbologyType symbology = (SymbologyType)Enum.GetValues(typeof(SymbologyType)).GetValue(this.cboSymbologyType.SelectedIndex);
txtSymbologyDescription.Text = ctrlBarcodeControl.GetValueRestrictions(symbology);
try
{
if (symbology == SymbologyType.EAN13 || symbology == SymbologyType.ISBN || symbology == SymbologyType.UPCA)
{
txtSupplementalValue.IsEnabled = true;
lblSupplementalValue.IsEnabled = true;
txtSymbologyDescription.Text += " " + ctrlBarcodeControl.GetSupplementaryValueRestrictions();
}
else
{
txtSupplementalValue.IsEnabled = false;
lblSupplementalValue.IsEnabled = false;
}
lblErrorMessage.Content = "";
ctrlBarcodeControl.RegistrationKey = "XXXXXXXXXXXXXXXXXXx";
ctrlBarcodeControl.RegistrationName = "YYYYYYYYYYYYYYYYYYYY";
ctrlBarcodeControl.Symbology = symbology;
ctrlBarcodeControl.SupplementValue = txtSupplementalValue.Text;
ctrlBarcodeControl.Value = txtValueToEncode.Text;
ctrlBarcodeControl.DrawCaptionFor2DBarcodes = chkDrawCaptionFor2D.IsChecked.Value;
ctrlBarcodeControl.AutoFitToControlSize = chkAutoFitToContainer.IsChecked.Value;
ctrlBarcodeControl.Caption = "";
if (symbology == SymbologyType.PDF417 || symbology == SymbologyType.PDF417Truncated ||
symbology == SymbologyType.MacroPDF417 || symbology == SymbologyType.DataMatrix ||
symbology == SymbologyType.GS1_DataMatrix)
{
ctrlBarcodeControl.BarHeight = PdfBarHeight;
}
else if (symbology == SymbologyType.MicroPDF417)
{
ctrlBarcodeControl.BarHeight = PdfBarHeight / 2;
}
else
{
ctrlBarcodeControl.BarHeight = BarHeight;
}
}
catch (Exception)
{
lblErrorMessage.Content = "Value is invalid for current symbology. Please review value restrictions above.";
}
}
private void SaveToFile()
{
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.Filter = "PNG Image|*.png|TIFF Image|*.tif;*.tiff|JPEG image|*.jpg;*.jpeg|Bitmap Image|*.bmp|GIF Image|*.gif";
dlg.ValidateNames = true;
dlg.FilterIndex = 1;
dlg.OverwritePrompt = true;
dlg.CheckPathExists = true;
dlg.AddExtension = true;
bool? result = dlg.ShowDialog(Application.Current.MainWindow);
if (result.HasValue && result.Value)
{
try
{
if (System.IO.Path.GetExtension(dlg.FileName).ToLowerInvariant() == ".emf")
throw new BarcodeException("Saving as EMF is disabled.\nYou should buy Barcode SDK for this.");
if (chkCutUnusedSpace.IsChecked.Value)
{
bool cut = ctrlBarcodeControl.CutUnusedSpace;
ctrlBarcodeControl.CutUnusedSpace = true;
ctrlBarcodeControl.SaveImage(dlg.FileName);
ctrlBarcodeControl.CutUnusedSpace = cut;
}
else
{
ctrlBarcodeControl.SaveImage(dlg.FileName);
}
}
catch (System.Exception e)
{
MessageBox.Show(e.Message);
}
}
}
#endregion
#region Main window event handlers
private void Page_Loaded(object sender, RoutedEventArgs e)
{
foreach (object o in GetObjectsFromEnum())
{
this.cboSymbologyType.Items.Add(o);
}
this.cboSymbologyType.SelectedIndex = 0;
}
#endregion
}
}
[/vb]
also available as: