public static void SetFont(this TextBlock element, WPFFont font) { element.FontFamily = font; element.FontSize = font; element.FontStretch = font; element.FontStyle = font; element.FontWeight = font; }
// called for init protected override void InitVisual(IElementView elementView, ulong noValueEffects) { Log.Debug("InitVisual"); view = elementView; visual = new GraphicItemVisual(this); ItemDrawingVisual.Children.Add(visual); view.Viewer.PreviewKeyDown += new KeyEventHandler(Viewer_PreviewKeyDown); view.Viewer.PreviewKeyUp += new KeyEventHandler(Viewer_PreviewKeyUp); view.Viewer.LostKeyboardFocus += new KeyboardFocusChangedEventHandler(Viewer_LostKeyboardFocus); view.Viewer.GotKeyboardFocus += new KeyboardFocusChangedEventHandler(Viewer_GotKeyboardFocus); font = new LogicalFont("Arial", 18.0, AfwDynamicGraphics.Media.FontStyle.Regular).GetFont(view); hasKeyFocus = view.Viewer.IsKeyboardFocusWithin; new Thread(RunNetThread).Start(); DrawItem(); }
// draw all private void DrawItem() { using (DrawingContext drawingContext = visual.RenderOpen()) { System.Windows.Media.Pen pen = new System.Windows.Media.Pen(Brushes.Black, 1); drawingContext.DrawRectangle(Brushes.Green, pen, ClientArea); double xd = ClientArea.Width * pos / 1000; double yd = ClientArea.Height * pos / 1000; drawingContext.DrawRectangle(Brushes.Gray, pen, new Rect(ClientArea.X + xd, ClientArea.Y + yd, ClientArea.Width - (xd * 2), ClientArea.Height - (yd * 2))); Brush brush = textBrush.GetBrush(view); WPFFont font = this.font.GetFont(view); FormattedText formattedText = new FormattedText(text, CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, font.Typeface, font.Size, brush); drawingContext.DrawText(formattedText, new Point(ClientArea.Left + 10, ClientArea.Top + 10)); } }
private void DrawItem(string response) { using (DrawingContext drawingContext = this.visual.RenderOpen()) { if (this.hasMouseFocus) { this.DrawFrame(drawingContext, this.elementView, true); } System.Windows.Media.Pen pen = new System.Windows.Media.Pen(Brushes.Black, 1); drawingContext.DrawRectangle(this.fillColor.GetBrush(this.elementView), new System.Windows.Media.Pen(Brushes.Black, 1), this.ClientArea); Brush brush = this.textBrush.GetBrush(this.elementView); WPFFont font = this.font.GetFont(this.elementView); FormattedText formattedText = new FormattedText(response, CultureInfo.CurrentUICulture, FlowDirection.LeftToRight, font.Typeface, font.Size, brush); drawingContext.DrawText(formattedText, new Point(this.ClientArea.Left + 10, this.ClientArea.Top + 10)); } }