共用方式為


ConfirmationType 列舉型別

定義值,這些值會指定 ContextNode 物件可能發生的型別確認。

這個列舉型別的 FlagsAttribute 屬性允許將其成員值以位元組合的方式來使用。

命名空間:  System.Windows.Ink
組件:  IAWinFX (在 IAWinFX.dll 中)

語法

'宣告
<FlagsAttribute> _
Public Enumeration ConfirmationType
'用途
Dim instance As ConfirmationType
[FlagsAttribute]
public enum ConfirmationType
[FlagsAttribute]
public enum class ConfirmationType
/** @attribute FlagsAttribute */
public enum ConfirmationType
public enum ConfirmationType

成員

成員名稱 說明
None 指定不套用確認。InkAnalyzer 可以視需要隨意變更內容節點或任何其子代 (Descendant)。
NodeTypeAndProperties 指定 InkAnalyzer 無法變更所指定之內容節點的型別或任何屬性。
TopBoundary 指定 InkAnalyzer 將不執行作業,包括加入筆墨或與其他 ContextNode 物件合併,後者會導致指定之 ContextNode 的頂端界限移動超過其目前的頂端界限。

備註

您只能對型別為 InkWordInkDrawingContextNode 物件使用 NodeTypeAndProperties,否則會擲回 InvalidOperationException

請使用 TopBoundary 以確保 InkAnalyzer「不會」執行任何作業,包括加入筆墨或與其他 ContextNode 物件合併。否則,ContextNode 的頂端界限可能會超出目前界限,而導致擴大 ContextNode。例如,假設應用程式的使用者書寫一個段落。在分析期間,InkAnalyzer 會為該段落建立 ParagraphNode。應用程式接著可以呼叫 Confirm 傳入 TopBoundary。如果使用者在段落上方加入新筆墨,InkAnalyzer 對新筆墨執行分析時,InkAnalyzer 並不會將新筆墨併入已確認的 ParagraphNode

ms610372.alert_note(zh-tw,VS.90).gif注意事項:

使用 TopBoundary 時,ContextNode 可以往其他方向繼續擴大。刪除筆劃會使 ContextNode 的頂端界限下移。轉換 ContextNode 會使位置發生變更,但不會使其他筆墨合併到新的位置。

這個 TopBoundary 只適用於段落節點。

範例

下列範例允許使用者指出已經過正確分析的筆劃。這個範例是 InkCanvas (名為 theInkCanvas) 上之 PreviewMouseUp 事件的事件處理常式。選取 CheckBox (confirmMode) 時,使用者按一下文字即可加以確認 (或在節點已經過確認時關閉確認)。這個範例會使用 StrokeCollection.HitTest(Point)FindNodesOfType 尋找適合的節點。找到節點之後,就會呼叫 Confirm 以切換確認。最後會重建 TreeView 顯示哪些節點已經過確認,並且會處理 PreviewMouseUp 事件。

Sub theInkCanvas_PreviewMouseDown(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)

    If Me.confirmMode.IsChecked Then

        ' Find the ink word nodes that correspond to those strokes
        Dim position As Point = e.GetPosition(theInkCanvas)
        Dim hitStrokes As StrokeCollection = theInkCanvas.Strokes.HitTest(position)

        Dim selectedNodes As ContextNodeCollection = _
            Me.theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord, _
            hitStrokes)

        ' Toggle the confirmation type on these nodes
        Dim selectedNode As ContextNode
        For Each selectedNode In selectedNodes
            If selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties) Then
                selectedNode.Confirm(ConfirmationType.None)
            Else
                selectedNode.Confirm(ConfirmationType.NodeTypeAndProperties)
            End If
        Next selectedNode

        ' Rebuild the TreeView to show which context nodes are confirmed.
        Me.BuildTree()

        ' Handle the MouseDown event to prevent the InkCanvas from
        ' selecting the stroke.
        e.Handled = True
    End If

End Sub 'theInkCanvas_PreviewMouseDown
void theInkCanvas_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    if ((bool)this.confirmMode.IsChecked)
    {
        // Find the ink word nodes that correspond to those strokes
        Point position = e.GetPosition(theInkCanvas);
        StrokeCollection hitStrokes = theInkCanvas.Strokes.HitTest(position);

        ContextNodeCollection selectedNodes =
            this.theInkAnalyzer.FindNodesOfType(ContextNodeType.InkWord,
            hitStrokes);

        // Toggle the confirmation type on these nodes
        foreach (ContextNode selectedNode in selectedNodes)
        {
            if (selectedNode.IsConfirmed(ConfirmationType.NodeTypeAndProperties))
            {
                selectedNode.Confirm(ConfirmationType.None);
            }
            else
            {
                selectedNode.Confirm(ConfirmationType.NodeTypeAndProperties);
            }
        }

        // Rebuild the TreeView to show which context nodes are confirmed.
        this.BuildTree();

        // Handle the MouseDown event to prevent the InkCanvas from
        // selecting the stroke.
        e.Handled = true;
    }
}

平台

Windows Vista

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

版本資訊

.NET Framework

支援版本:3.0

請參閱

參考

System.Windows.Ink 命名空間

ContextNode.Confirm

ContextNodeIsNodeTypeAndPropertiesConfirmed()