public MainWindow()
{
// Catch any vague XAML exceptions
try { InitializeComponent(); }
catch
{
MessageBox.Show("XAML initialization error.");
}
Icon = ResourceLoader.GetProgramIconBitmap();
Title = "AmazonScrape";
Version version = Assembly.GetExecutingAssembly().GetName().Version;
Title += " " + version;
WindowState = System.Windows.WindowState.Maximized;
// Specify the controls requiring validation
// (validation properties are set in XAML)
requireValidation = new List<IValidatable>();
requireValidation.Add(txtSearch);
requireValidation.Add(txtNumberOfResults);
requireValidation.Add(txtMinNumberOfReviews);
requireValidation.Add(PriceRange);
Style smallTextStyle = ResourceLoader.GetControlStyle("DataGridSmallTextStyle");
Style mediumTextStyle = ResourceLoader.GetControlStyle("DataGridMediumTextStyle");
Style largeTextStyle = ResourceLoader.GetControlStyle("DataGridLargeTextStyle");
// Specify the result grid format
ResultGrid.ColumnHeaderHeight = 40;
ResultGrid.MouseDoubleClick += dataGrid_MouseDoubleClick;
ResultGrid.PreviewMouseLeftButtonDown += dataGrid_PreviewMouseLeftButtonDown;
ResultGrid.AddImageColumn("ProductImage", "Product", 5, BindingMode.TwoWay);
ResultGrid.AddImageColumn("PrimeLogoImage", "Prime", 4, BindingMode.OneWay,"IsPrimeEligible");
ResultGrid.AddTextColumn("Name", "Product Name", 13, mediumTextStyle);
ResultGrid.AddTextColumn("LowPrice", "Low Price", 5, largeTextStyle);
ResultGrid.AddTextColumn("HighPrice", "High Price", 5, largeTextStyle);
ResultGrid.AddTextColumn("Rating", "Rating", 3, largeTextStyle);
ResultGrid.AddTextColumn("ReviewCount", "Reviews", 5, largeTextStyle);
ResultGrid.AddTextColumn("ReviewDistribution", "Distribution", 5,smallTextStyle);
ResultGrid.AddButtonColumn("Open", 3, new RoutedEventHandler(OpenInBrowser_Click));
// Set focus to the search control once the window is loaded
this.Loaded += MainWindow_Loaded;
}