WPF'de Mürekkep kullanmaya başlama

Windows Presentation Foundation (WPF) uygulamasına dijital mürekkep eklemenizi kolaylaştıran bir mürekkep özelliğine sahiptir.

Ön koşullar

Aşağıdaki örnekleri kullanmak için önce Visual Studio'yu yükleyin. Ayrıca temel WPF uygulamalarının nasıl yaz yapılacağını bilmenize de yardımcı olur. WPF'yi kullanmaya başlama konusunda yardım için bkz . İzlenecek yol: İlk WPF masaüstü uygulamam.

Hızlı Başlangıç

Bu bölüm, mürekkep toplayan basit bir WPF uygulaması yazmanıza yardımcı olur.

Mürekkep var mı?

Mürekkep destekleyen bir WPF uygulaması oluşturmak için:

  1. Visual Studio'yu açın.

  2. Yeni bir WPF Uygulaması oluşturun.

    Yeni Proje iletişim kutusunda Yüklü>Visual C# veya Visual Basic>Windows Masaüstü kategorisini genişletin. Ardından WPF Uygulaması (.NET Framework) uygulama şablonunu seçin. Bir ad girin ve Tamam'ı seçin.

    Visual Studio projeyi oluşturur ve MainWindow.xaml tasarımcıda açılır.

  3. Etiketler arasına <Grid> yazın<InkCanvas/>.

    XAML designer with InkCanvas tag

  4. Hata ayıklayıcıda uygulamanızı başlatmak için F5 tuşuna basın.

  5. Ekran kalemi veya fare kullanarak pencereye merhaba dünya yazın.

Yalnızca 12 tuş vuruşuyla bir "merhaba dünya" uygulamasının mürekkep eşdeğerini yazdınız!

Uygulamanızı renklendirin

WPF'nin bazı özelliklerinden yararlanalım. Pencere> etiketlerini açma ve kapatma <arasındaki her şeyi aşağıdaki işaretlemeyle değiştirin:

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

Bu XAML, mürekkep oluşturma yüzeyinizde gradyan fırça arka planı oluşturur.

Gradient colors on inking surface in WPF app

XAML'nin Arkasına Kod Ekleme

XAML, kullanıcı arabirimini tasarlamayı çok kolaylaştırsa da, tüm gerçek dünya uygulamalarının olayları işlemek için kod eklemesi gerekir. Fareden sağ tıklamaya yanıt olarak mürekkep üzerinde yakınlaştırmaya yönelik basit bir örnek aşağıda verilmiştir.

  1. İşleyiciyi MouseRightButtonUp XAML'nizde ayarlayın:

    <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    
  2. Çözüm Gezgini'de MainWindow.xaml dosyasını genişletin ve arka planda kod dosyasını açın (MainWindow.xaml.cs veya MainWindow.xaml.vb). Aşağıdaki olay işleyici kodunu ekleyin:

    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);
    }
    
    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
    
  3. Uygulamayı çalıştırın. Mürekkep ekleyin ve fareyle sağ tıklayın veya ekran kalemiyle basıp basılı tutma eşdeğerini gerçekleştirin.

    Sağ fare düğmesiyle her tıkladığınızda ekran yakınlaştırıldığında.

XAML Yerine Yordam Kodu Kullanma

Yordam kodundan tüm WPF özelliklerine erişebilirsiniz. WPF için XAML kullanmayan bir "Hello Ink World" uygulaması oluşturmak için bu adımları izleyin.

  1. Visual Studio'da yeni bir konsol uygulaması projesi oluşturun.

    Yeni Proje iletişim kutusunda Yüklü>Visual C# veya Visual Basic>Windows Masaüstü kategorisini genişletin. Ardından Konsol Uygulaması (.NET Framework) uygulama şablonunu seçin. Bir ad girin ve Tamam'ı seçin.

  2. Aşağıdaki kodu Program.cs veya Program.vb dosyasına yapıştırın:

    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();
        }
    }
    
    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
    
    End Class
    
    Module Module1
    
        Sub Main()
            Dim prog As New Program()
            prog.Run()
    
        End Sub
    
    End Module
    
  3. Çözüm Gezgini'da Başvurular'a sağ tıklayıp Başvuru Ekle'yi seçerek PresentationCore, PresentationFramework ve WindowsBase derlemelerine başvurular ekleyin.

    Reference Manager showing PresentationCore and PresentationFramework

  4. F5 tuşuna basarak uygulamayı derleyin.

Ayrıca bkz.