// Applies the selected options to the image brush. private void UpdateBrush(object sender, RoutedEventArgs args) { try { myImageBrush.ImageSource = (_selectedButton.Content as Image).Source; myImageBrush.Stretch = (Stretch)Enum.Parse(typeof(Stretch), (string)stretchSelector.SelectedItem); myImageBrush.AlignmentX = (AlignmentX)Enum.Parse(typeof(AlignmentX), (string)horizontalAlignmentSelector.SelectedItem); myImageBrush.AlignmentY = (AlignmentY)Enum.Parse(typeof(AlignmentY), (string)verticalAlignmentSelector.SelectedItem); myImageBrush.TileMode = (TileMode)Enum.Parse(typeof(TileMode), (string)tileSelector.SelectedItem); myImageBrush.ViewportUnits = (BrushMappingMode) Enum.Parse(typeof(BrushMappingMode), (string)viewportUnitsSelector.SelectedItem); myImageBrush.ViewboxUnits = (BrushMappingMode)Enum.Parse(typeof(BrushMappingMode), (string)viewboxUnitsSelector.SelectedItem); var myRectConverter = new RectConverter(); var parseString = viewportEntry.Text; if (!string.IsNullOrEmpty(parseString)) { myImageBrush.Viewport = (Rect)myRectConverter.ConvertFromString(parseString); } else { myImageBrush.Viewport = Rect.Empty; viewportEntry.Text = "Empty"; } parseString = viewboxEntry.Text; if (!string.IsNullOrEmpty(parseString) && parseString.ToLower() != "(auto)") { myImageBrush.Viewbox = (Rect)myRectConverter.ConvertFromString(parseString); } else { viewboxEntry.Text = "Empty"; myImageBrush.Viewbox = Rect.Empty; } } catch (InvalidOperationException invalidOpEx) { MessageBox.Show("Invalid Viewport or Viewbox. " + invalidOpEx); } catch (FormatException formatEx) { MessageBox.Show("Invalid Viewport or Viewbox. " + formatEx); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { RectConverter rc = new RectConverter(); if (value == null) { return(new Rect(0, 0, 0, 0)); } return(rc.ConvertFromString((String)value)); }