대상 크기에 맞춰 키보드 모양 아이콘을 렌더링합니다.
105 {
106 base.OnRender(drawingContext);
107
108 var adornedSize = AdornedElement.RenderSize;
109 const double width = 34;
110 const double height = 22;
111 var rect = new Rect(
112 Math.Max(0, adornedSize.Width - width - 4),
113 Math.Max(0, adornedSize.Height - height - 4),
114 width,
115 height);
116
117 var background = new SolidColorBrush(Color.FromArgb(230, 45, 52, 64));
118 var border = new Pen(new SolidColorBrush(Color.FromRgb(120, 140, 160)), 1);
119 drawingContext.DrawRoundedRectangle(background, border, rect, 4, 4);
120
121 var keyBrush = new SolidColorBrush(Color.FromRgb(230, 236, 244));
122 const double keySize = 4;
123 for (var row = 0; row < 2; row++)
124 {
125 for (var col = 0; col < 5; col++)
126 {
127 var keyRect = new Rect(rect.Left + 5 + col * 5, rect.Top + 5 + row * 6, keySize, keySize);
128 drawingContext.DrawRoundedRectangle(keyBrush, null, keyRect, 1, 1);
129 }
130 }
131
132 drawingContext.DrawRoundedRectangle(
133 keyBrush,
134 null,
135 new Rect(rect.Left + 8, rect.Top + 17, 18, 2),
136 1,
137 1);
138 }