مشاركة عبر


الشروع في استخدام الحبر

تضمين الحبر الرقمي في التطبيقات الخاصة بك هو أسهل من ذي قبل. تم تطوير الحبر صواب من أن يكون corollary إلى الأسلوب نماذج Windows "و" COM من البرمجة إلى الوصول إلى مستوى تكامل كامل فى WPF لا تحتاج إلى تثبيت SDKs منفصل أو مكتبات وقت التشغيل.

المتطلبات الأساسية

لاستخدام الأمثلة التالية ، يجب عليك أولاً تثبيت Microsoft Visual Studio 2005 و Windows SDK. يجب أيضاً فهم كيفية كتابة تطبيقات لـ WPF. لمزيد من المعلومات حول كيفية البدء فى WPFراجعالشروع في استخدام WPF.

التشغيل السريع

يساعدك هذا المقطع على كتابة تطبيق WPF بسيط الذي يجمع الارتباطات .

إذا كنت لم تقم بذلك مسبقاً، قم بتثبيت ‏‫‏‫Microsoft ‏‫‏‫Visual Studio 2005 و عدة تطوير برامج Windows (SDK). WPFيجب أن يتم تصنيف التطبيقات عادة قبل أن يمكنك عرضها، حتى لو كانت إلا يتكون تماما منExtensible Application Markup Language (XAML). ومع ذلك، عدة تطوير برامج Windows (SDK) يتضمن تطبيق ما، XamlPad ، مصمم لتسريع عملية تطبيق واجهة مستخدم مستندة على XAML . يمكنك استخدام هذا التطبيق لعرض و tinker بالنماذج القليلة الأولى في هذا المستند. عملية إنشاء تطبيقات مترجمة برمجياً من XAML تم تغطيتها لاحقاً في هذا المستند.

لتشغيل XAMLPad ، انقر فوق قائمة ابدأ، وأشر إلى كافة البرامج، ومنها أشر إلى Microsoft Windows SDK، وأخيرًا أشر إلى Tools، ثم انقر فوق XAMLPadr في جزء التقجيم ، XAMLPad يعرض التعليمات البرمجية الخاصة بــ XAML المكتوبة في جزء التعليمات البرمجية. يمكنك تحرير التعليمات البرمجية الخاصة بـ XAML ، وتظهر التغييرات فورًا في جزء التقديم.

الحصول على الحبر ؟

لبدء تطبيق WPF الأول الذي يدعم الحبر:

  1. فتح Microsoft Visual Studio 2005

  2. إنشاء تطبيق جديد لـ Windows (WPF) .

  3. اكتب <InkCanvas/> بين علامات <Grid>

  4. اضغط F5 لتشغيل التطبيق الخاص بك في المصحح

  5. قم باستخدام ماوس أو القلم، كتابة hello العالم في نافذة

قمت بكتابة الحبر المكافئ لتطبيق " مرحباً عالم" بـ12 ضغطة المفاتيح فقط!

أضف الإثارة إلى التطبيق الخاص بك

فلنستفد من بعض الميزات لــ WPF. قم باستبدال كل شيء بين علامات الفتح < Window > و الإغلاق < /Window > مع العلامات التالية للحصول على خلفية فرشاة متدرجة على سطح الحبر الخاص بك.

<Page>
  <InkCanvas Name="myInkCanvas">
    <InkCanvas.Background>
      <LinearGradientBrush>
        <GradientStop Color="Yellow" Offset="0.0" />
        <GradientStop Color="Blue" Offset="0.5" />
        <GradientStop Color="Green" Offset="1.0" />
      </LinearGradientBrush>
    </InkCanvas.Background>
  </InkCanvas>


...


</Page>

استخدام الحركة

للحصول على المتعة ، لنقم بتحريك الألوان للفرشاة المتدرجة. قم بإضافة التعليمات XAML بعد إغلاق علامة</InkCanvas> و لكن قبل اغلاق علامة </Page> :

<Page.Triggers>
  <EventTrigger RoutedEvent="Page.Loaded">
    <EventTrigger.Actions>
      <BeginStoryboard>
        <Storyboard RepeatBehavior="Forever" AutoReverse="True">
          <ColorAnimation  Storyboard.TargetName="myInkCanvas"
          Storyboard.TargetProperty=
            "(InkCanvas.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)"
          From="Yellow" To="Blue" Duration="0:0:5"/>
          <ColorAnimation Storyboard.TargetName="myInkCanvas"
          Storyboard.TargetProperty=
            "(InkCanvas.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)"
          From="Blue" To="Red" Duration="0:0:5"/>
          <ColorAnimation Storyboard.TargetName="myInkCanvas"
          Storyboard.TargetProperty=
            "(InkCanvas.Background).(LinearGradientBrush.GradientStops)[2].(GradientStop.Color)"
          From="Green" To="Blue" Duration="0:0:5"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger.Actions>
  </EventTrigger>
</Page.Triggers>

إضافة بعض التعليمات البرمجية خلف XAML

أثناء جعل XAML له سهلاً لتصميم واجهة المستخدم ، أي تطبيق real-world يحتاج إلى إضافة تعليمات برمجية لمعالجة الأحداث. وفيما يلي مثال بسيط يقوم بتكبير الصورة على الحبر في استجابة للنقر فوق زر الماوس الأيمن :

قم بتعيين معالج MouseRightButtonUp في XAML الخاص بك:

<InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">

في مستكشف حلول Visual Studio ، قم بتوسيع Windows1.xaml، ثم فتح ملف التعليمات البرمجية الخلفية Window1.xaml.cs أو Window1.xaml.vb إذا كنت تستخدم Visual Basic. قم بإضافة التعليمات البرمجية الخاصة بمعالج الأحداث التالية :

Private Sub RightMouseUpHandler(ByVal sender As Object, _
                                ByVal e As System.Windows.Input.MouseButtonEventArgs)

    Dim m As New Matrix()
    m.Scale(1.1, 1.1)
    CType(sender, InkCanvas).Strokes.Transform(m, True)

End Sub 'RightMouseUpHandler
private void RightMouseUpHandler(object sender, 
                                 System.Windows.Input.MouseButtonEventArgs e)
{
    Matrix m = new Matrix();
    m.Scale(1.1d, 1.1d);
    ((InkCanvas)sender).Strokes.Transform(m, true);
}

الآن ، قم بتشغيل التطبيق الخاص بك قم بإضافة بعض الحبر ثم انقر بزر الماوس الأيمن أو قم بتنفيذ الضغط مع الاستمرار مع القلم.

استخدام التعليمات البرمجية الخاصة بـ Procedural بدلاً من XAML

يمكنك الوصول إلى كافة ميزات WPF من التعليمات البرمجية الخاصة بــ procedural. وفيما يلي تطبيق "مرحباً عالم الحبر" لــ WPF الذي لا يستخدم أي XAML نهائياً. لصق التعليمات البرمجية أدناه في تطبيق وحدة التحكم فارغ في Visual Studio. إضافة مراجع التجميعات PresentationCore و PresentationFramework و WindowsBase ثم إنشاء التطبيق بواسطة الضغط علىF5:

Imports System
Imports System.Windows
Imports System.Windows.Controls


Class Program
    Inherits Application
    Private win As Window
    Private ic As InkCanvas


    Protected Overrides Sub OnStartup(ByVal args As StartupEventArgs)
        MyBase.OnStartup(args)
        win = New Window()
        ic = New InkCanvas()
        win.Content = ic
        win.Show()

    End Sub 'OnStartup

End Class 'Program

Module Module1

    Sub Main()
        Dim prog As New Program()
        prog.Run()

    End Sub

End Module
using System;
using System.Windows;
using System.Windows.Controls;
class Program : Application
{
    Window win;
    InkCanvas ic;

    protected override void OnStartup(StartupEventArgs args)
    {
        base.OnStartup(args);
        win = new Window();
        ic = new InkCanvas();
        win.Content = ic;
        win.Show();
    }

    [STAThread]
    static void Main(string[] args)
    {
        new Program().Run();
    }
}

راجع أيضًا:

المبادئ

تجميع الحبر

التعرف على خط اليد

تخزين الحبر

موارد أخرى

الحبر الرقمي