Başlarken WPF'de Mürekkeple Birlikte

Windows Presentation Foundation (WPF), uygulamanıza dijital mürekkep dahilini kolaylaştıran bir mürekkep özelliğine sahiptir.

Önkoşullar

Aşağıdaki örnekleri kullanmak için önce Visual Studio. Ayrıca temel WPF uygulamalarını nasıl yazacaklarını bilmek de yardımcı olur. WPF'ye başlarken yardım için bkz. Adım adım: İ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 Project iletişim kutusunda, Yüklü Visual C# veya Visual Basic WindowsDesktop 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. Etiketlerin <InkCanvas/> arasına <Grid> yazın.

    XAML designer with InkCanvas tag

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

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

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

Uygulamanıza renk katma

WpF'nin bazı özelliklerinden yararlan bakalım. Pencere açma ve kapatma etiketleri 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, kayıt yüzeyiniz üzerinde 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 kolay bir şekilde sağlar ancak gerçek dünya uygulamanın olayları işlemek için kod eklemesi gerekir. Fareden sağ tıklamaya yanıt olarak mürekkeple yakınlaştıran basit bir örnek aşağıdaki gibidir.

  1. MouseRightButtonUpXAML'nize işleyiciyi ayarlayın:

    <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    
  2. Bu Çözüm GezginiMainWindow.xaml'i genişletin ve arka kapı kod dosyasını açın (MainWindow.xaml.cs veya MainWindow.xaml.vb). Aşağıdaki olay işleyicisi 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 bir stiliyle eşdeğer bir bas ve basılı tut işlemi gerçekleştirin.

    Ekran, sağ fare düğmesiyle her tıklamada yakınlaştır.

XAML Yerine YordamSal Kod Kullanma

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

  1. Yeni bir konsol uygulaması projesi oluşturun Visual Studio.

    Yeni Project iletişim kutusunda, Yüklü Visual C# veya Visual Basic WindowsDesktop 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. Içinde Başvurular'a sağ tıklar ve Başvuru Ekle'yi seçerek PresentationCore, PresentationFramework ve WindowsBase Çözüm Gezgini derlemelerinebaşvurular ekleyin.

    Reference Manager showing PresentationCore and PresentationFramework

  4. F5 tuşuna basarak uygulamayı derleme.

Ayrıca bkz.