InkCanvas

说明:本例简单展示了InkCanvas的使用,并详细列出了InkCanvasEditingMode的枚举值。

 <Grid>
<InkCanvas Name="inkCanvas" Background="Ivory">
<InkCanvas.DefaultDrawingAttributes>
<Ink:DrawingAttributes xmlns:ink="system-windows-ink" Color="Red" Width="5" />
</InkCanvas.DefaultDrawingAttributes>
</InkCanvas>

<!-- This stack panel of buttons is a sibling to InkCanvas (not a child) but overlapping it,
higher in z-order, so that ink is collected and rendered behind
-->
<StackPanel Name="buttonBar" VerticalAlignment="Top" Height="26" Orientation="Horizontal" Margin="5">
<Button Click="Ink">Ink</Button>
<Button Click="Highlight">Highlight</Button>
<Button Click="EraseStroke">EraseStroke</Button>
<Button Click="Select">Select</Button>
</StackPanel>
</Grid>
 1  // Set the EditingMode to ink input.
2 private void Ink(object sender, RoutedEventArgs e)
3 {
4 //InkCanvas.EditingMode,获取或设置活动指针设备使用的用户编辑模式。这是一个依赖项属性。
5
6 inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
7
8 // Set the DefaultDrawingAttributes for a red pen.
9 inkCanvas.DefaultDrawingAttributes.Color = Colors.Red;
10 inkCanvas.DefaultDrawingAttributes.IsHighlighter = false;
11 inkCanvas.DefaultDrawingAttributes.Height = 2;
12 }
13
14 // Set the EditingMode to highlighter input.
15 private void Highlight(object sender, RoutedEventArgs e)
16 {
17 inkCanvas.EditingMode = InkCanvasEditingMode.Ink;
18
19 // Set the DefaultDrawingAttributes for a highlighter pen.
20 inkCanvas.DefaultDrawingAttributes.Color = Colors.Yellow;
21 inkCanvas.DefaultDrawingAttributes.IsHighlighter = true;
22 inkCanvas.DefaultDrawingAttributes.Height = 25;
23 }
24
25 // Set the EditingMode to erase by stroke.
26 private void EraseStroke(object sender, RoutedEventArgs e)
27 {
28 inkCanvas.EditingMode = InkCanvasEditingMode.EraseByStroke;
29 }
30
31 // Set the EditingMode to selection.
32 private void Select(object sender, RoutedEventArgs e)
33 {
34
35 inkCanvas.EditingMode = InkCanvasEditingMode.Select;
36 }
37
38 #region InkCanvasEditingMode的枚举值
39
40 // 指示当笔向 System.Windows.Controls.InkCanvas 发送数据时不执行任何操作。
41 //None = 0,
42
43
44 // 指示当笔向 System.Windows.Controls.InkCanvas 发送数据时,在其上显示墨迹。
45 //Ink = 1,
46
47 // 指示 System.Windows.Controls.InkCanvas 对笔势做出响应,但不接收墨迹。
48 // GestureOnly = 2,
49
50 // 指示 System.Windows.Controls.InkCanvas 对笔势做出响应并接收墨迹。
51 // InkAndGesture = 3,
52
53 // 指示笔在 System.Windows.Controls.InkCanvas 上选择笔画和元素。
54 //Select = 4,
55
56 // 指示当笔和笔画相交时将擦除部分笔画。
57 //EraseByPoint = 5,
58
59 // 指示当笔和笔画相交时将擦除整个笔画。
60 //EraseByStroke = 6,
61 #endregion



原文地址:https://www.cnblogs.com/January/p/2434244.html