This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

InkCanvas الفئة

Visual Studio 2010

قم بتعريف مساحة التي يتلقاها و يعرض ضغطات حبر.

مساحة الاسم:  System.Windows.Controls
التجميع:  PresentationFramework (في PresentationFramework.dll)
XMLNS لـ XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[ContentPropertyAttribute("Children")]
public class InkCanvas : FrameworkElement, IAddChild
<InkCanvas>
  Children
</InkCanvas>

InkCanvas هو عنصر يمكن استخدامه لتلقي بريد و dهوplay حبر الإدخال. عادة ما يتم ذلك من خلال استخدام من إبرة الفونوغراف يتفاعل مع جهاز الالتقاط الرقمي إلى إنتاج ضغطات حبر باستخدام قلم أو ماوس. يتم تمثيل ضغطات تم إنشاؤها ك Strokeتشغيل الكائنات، ويمكن معالجته أما برمجياً أو استناداً إلى إدخال مستخدم. InkCanvas تمكن المستخدمين من تعديل أو يحذف موجودة Stroke.

InkCanvas يمكن أن يكون منضماً إلى مصدر بيانات. على سبيل المثال، يمكنك يربط Strokesالخاصية إلى: سلسلة أساس 64، المرمز الذي يحتوي على البيانات في "المسلسلة حبر" بتنسيق (ISF)؛ أو حتى بحبر إلى Strokesخاصية آخر InkCanvas. يمكنك أيضا يربط خصائص، مثل DefaultDrawingAttributesو EditingMode، إلى مصادر بيانات الأخرى.

يوضح المثال التالي كيفية إلى محاكاة باستخدام كل من قلم قلم تمييز تشغيل نفس InkCanvas. يفترض المثال الذي العنصر الجذر في ملف لغة (XAML) تمييز هو على DockPanelيسمى root. أنه أيضا يفترض التي هو على Buttonيسمى switchHighlighterوأن كلا من ClickLoadedالأحداث المتصلة بمعالج الأحداث الخاص بالمثال.


        InkCanvas inkCanvas1 = new InkCanvas();
        DrawingAttributes inkDA;
        DrawingAttributes highlighterDA;
        bool useHighlighter = false;

        // Add an InkCanvas to the window, and allow the user to 
        // switch between using a green pen and a purple highlighter 
        // on the InkCanvas.
        private void WindowLoaded(object sender, EventArgs e)
        {
            inkCanvas1.Background = Brushes.DarkSlateBlue;
            inkCanvas1.DefaultDrawingAttributes.Color = Colors.SpringGreen;

            root.Children.Add(inkCanvas1);

            // Set up the DrawingAttributes for the pen.
            inkDA = new DrawingAttributes();
            inkDA.Color = Colors.SpringGreen;
            inkDA.Height = 5;
            inkDA.Width = 5;
            inkDA.FitToCurve = false;

            // Set up the DrawingAttributes for the highlighter.
            highlighterDA = new DrawingAttributes();
            highlighterDA.Color = Colors.Orchid;
            highlighterDA.IsHighlighter = true;
            highlighterDA.IgnorePressure = true;
            highlighterDA.StylusTip = StylusTip.Rectangle;
            highlighterDA.Height = 30;
            highlighterDA.Width = 10;

            inkCanvas1.DefaultDrawingAttributes = inkDA;
        }

        // Create a button called switchHighlighter and use 
        // SwitchHighlighter_Click to handle the Click event.  
        // The useHighlighter variable is a boolean that indicates
        // whether the InkCanvas renders ink as a highlighter.

        // Switch between using the 'pen' DrawingAttributes and the 
        // 'highlighter' DrawingAttributes.
        void SwitchHighlighter_Click(Object sender, RoutedEventArgs e)
        {
            useHighlighter = !useHighlighter;

            if (useHighlighter)
            {
                switchHighlighter.Content = "Use Pen";
                inkCanvas1.DefaultDrawingAttributes = highlighterDA;
            }
            else
            {
                switchHighlighter.Content = "Use Highlighter";
                inkCanvas1.DefaultDrawingAttributes = inkDA;

            }
        }



يقوم المثال التالي بتعريف جهازي InkCanvas كائنات في XAML و بتأسيس ربط البيانات بين و البيانات الأخرى صواب. أول InkCanvas ، تسمىic منضماً إلى البيانات بين مصادر. EditingMode و DefaultDrawingAttributesخصائص تشغيل icهي حدود إلى ListBoxالكائنات، والتي بدورها حدود للمعرفة في XAML. صفائف EditingMode ، DefaultDrawingAttributes، و Strokesخصائص الثاني InkCanvasالمرتبطة إلى أول InkCanvasفي التعليمة البرمجية التالية.


<Canvas>
  <Canvas.Resources>
    <!--Define an array containing the InkEditingMode Values.-->
    <x:Array x:Key="MyEditingModes" x:Type="{x:Type InkCanvasEditingMode}">
      <x:Static Member="InkCanvasEditingMode.Ink"/>
      <x:Static Member="InkCanvasEditingMode.Select"/>
      <x:Static Member="InkCanvasEditingMode.EraseByPoint"/>
      <x:Static Member="InkCanvasEditingMode.EraseByStroke"/>
    </x:Array>

    <!--Define an array containing some DrawingAttributes.-->
    <x:Array x:Key="MyDrawingAttributes" 
             x:Type="{x:Type DrawingAttributes}">
      <DrawingAttributes Color="Black" FitToCurve="true" 
                         Width="3" Height="3"/>
      <DrawingAttributes Color="Blue" FitToCurve="false" 
                         Width="5" Height="5"/>
      <DrawingAttributes Color="Red" FitToCurve="true" 
                         Width="7" Height="7"/>
    </x:Array>

    <!--Create a DataTemplate to display the 
        DrawingAttributes shown above-->
    <DataTemplate DataType="{x:Type DrawingAttributes}" >
      <Border Width="80" Height="{Binding Path=Height}">
        <Border.Background >
          <SolidColorBrush Color="{Binding Path=Color}"/>
        </Border.Background>
      </Border>
    </DataTemplate>
  </Canvas.Resources>

  <!--Bind the first InkCavas' DefaultDrawingAtributes to a 
      Listbox, called lbDrawingAttributes, and its EditingMode to 
      a ListBox called lbEditingMode.-->
  <InkCanvas Name="ic" Background="LightGray" 
             Canvas.Top="0" Canvas.Left="0" 
             Height="400" Width="200"
             DefaultDrawingAttributes="{Binding 
                  ElementName=lbDrawingAttributes, Path=SelectedItem}"
             EditingMode=
                  "{Binding ElementName=lbEditingMode, Path=SelectedItem}"
             >
  </InkCanvas>

  <!--Bind the Strokes, DefaultDrawingAtributes, and, EditingMode properties of
      the second InkCavas the first InkCanvas.-->
  <InkCanvas Background="LightBlue"  
             Canvas.Top="0" Canvas.Left="200" 
             Height="400" Width="200" 
             Strokes="{Binding ElementName=ic, Path=Strokes}" 
             DefaultDrawingAttributes="{Binding 
                  ElementName=ic, Path=DefaultDrawingAttributes}" 
             EditingMode="{Binding ElementName=ic, Path=EditingMode}">

    <InkCanvas.LayoutTransform>
      <ScaleTransform ScaleX="-1" ScaleY="1" />
    </InkCanvas.LayoutTransform>

  </InkCanvas>

  <!--Use the array, MyEditingModes, to populate a ListBox-->
  <ListBox Name="lbEditingMode" 
           Canvas.Top="0" Canvas.Left="450" 
           Height="100" Width="100"
           ItemsSource="{StaticResource MyEditingModes}" />

  <!--Use the array, MyDrawingAttributes, to populate a ListBox-->
  <ListBox Name="lbDrawingAttributes" 
           Canvas.Top="150" Canvas.Left="450" 
           Height="100" Width="100"
           ItemsSource="{StaticResource MyDrawingAttributes}" />

</Canvas>


يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0

NET Framework. Client Profile

مدعوم في: 4
إظهار: