InkToolbarCustomPen Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili pena InkToolbar yang properti palet warna tinta dan ujung penanya, seperti bentuk, rotasi, dan ukuran, didefinisikan oleh aplikasi host.
public ref class InkToolbarCustomPen : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InkToolbarCustomPen : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class InkToolbarCustomPen : DependencyObject
Public Class InkToolbarCustomPen
Inherits DependencyObject
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)
|
Contoh
Berikut adalah definisi pena kaligrafi kustom.
- Di code-behind, pertama-tama kita membuat kelas pena kustom yang berasal dari InkToolbarCustomPen.
Kelas pena kustom harus mengganti metode CreateInkDrawingAttributesCore dan menyediakan InkDrawingAttributes untuk konfigurasi kustom. Dalam contoh ini, kami menyesuaikan InkDrawingAttributes berikut:
- PenTip diatur ke PenTipShape.Circle;
-
Ukuran diatur ke Windows.Foundation.Size dari
(strokeWidth, strokeWidth * 20)
. - Warna diatur ke SolidColorBrush dipilih dari palet, atau Colors.Black secara default.
- PenTipTransform (melalui Matrix3x2.CreateRotation) diatur untuk memutar ujung pena sebesar 45°.
using System.Numerics;
using Windows.UI;
using Windows.UI.Input.Inking;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
namespace Ink_Basic_InkToolbar
{
class CalligraphicPen : InkToolbarCustomPen
{
public CalligraphicPen()
{
}
protected override InkDrawingAttributes CreateInkDrawingAttributesCore(Brush brush, double strokeWidth)
{
InkDrawingAttributes inkDrawingAttributes = new InkDrawingAttributes();
inkDrawingAttributes.PenTip = PenTipShape.Circle;
inkDrawingAttributes.Size = new Windows.Foundation.Size(strokeWidth, strokeWidth * 20);
SolidColorBrush solidColorBrush = brush as SolidColorBrush;
if (solidColorBrush != null)
{
inkDrawingAttributes.Color = solidColorBrush.Color;
}
else
{
inkDrawingAttributes.Color = Colors.Black;
}
Matrix3x2 matrix = Matrix3x2.CreateRotation(.785f);
inkDrawingAttributes.PenTipTransform = matrix;
return inkDrawingAttributes;
}
}
}
- Dalam markup, kami kemudian mengikat kelas pena kustom kami menggunakan referensi ekstensi markup {StaticResource} di atribut CustomPen dari elemen InkToolbarCustomPenButton (atau, Anda dapat membuat instans pena kustom dan menetapkannya ke InkToolbarCustomPenButton.CustomPen dalam kode).
Anda dapat menggunakan InkToolbarPenConfigurationControl bawaan (seperti yang ditunjukkan di sini) atau Anda dapat menentukan definisi InkToolbarPenConfigurationControl kustom dalam deklarasi pena InkToolbar standar.
Berikut adalah deklarasi untuk pena kustom yang ditentukan dalam cuplikan sebelumnya.
<!-- Set up locally defined resource dictionary. -->
<Page.Resources>
<!-- Add the custom CalligraphicPen to the page resources. -->
<local:CalligraphicPen x:Key="CalligraphicPen" />
<!-- Specify the colors for the palette of the custom pen. -->
<BrushCollection x:Key="CalligraphicPenPalette">
<SolidColorBrush Color="Blue" />
<SolidColorBrush Color="Red" />
</BrushCollection>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="HeaderPanel" Orientation="Horizontal" Grid.Row="0">
<TextBlock x:Name="Header"
Text="Basic ink sample"
Style="{ThemeResource HeaderTextBlockStyle}"
Margin="10,0,0,0" />
</StackPanel>
<Grid Grid.Row="1">
<Image Source="Assets\StoreLogo.png" />
<InkCanvas x:Name="inkCanvas" />
<InkToolbar x:Name="inkToolbar"
VerticalAlignment="Top"
TargetInkCanvas="{x:Bind inkCanvas}">
<InkToolbarCustomPenButton
CustomPen="{StaticResource CalligraphicPen}"
MinStrokeWidth="1" MaxStrokeWidth="3" SelectedStrokeWidth="2"
Palette="{StaticResource CalligraphicPenPalette}"
SelectedBrushIndex ="1"
ToolTipService.ToolTip="Calligraphic pen">
<SymbolIcon Symbol="{x:Bind CalligraphicPenIcon}"/>
<InkToolbarCustomPenButton.ConfigurationContent>
<InkToolbarPenConfigurationControl />
</InkToolbarCustomPenButton.ConfigurationContent>
</InkToolbarCustomPenButton>
</InkToolbar>
</Grid>
</Grid>
Berikut definisi CalligraphicPenIcon
dari MainPage.xaml.cs
file contoh ini.
namespace Ink_Basic_InkToolbar
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class MainPage_AddCustomPen : Page
{
// Icon for calligraphic pen custom button.
Symbol CalligraphicPenIcon = (Symbol)0xEDFB;
public MainPage_AddCustomPen()
{
this.InitializeComponent();
}
}
}
Keterangan
Untuk membuat pena yang ditentukan aplikasi dan tombol yang sesuai pada InkToolbar, gunakan kelas ini bersama dengan InkToolbarCustomPenButton.
Konstruktor
InkToolbarCustomPen() |
Menginisialisasi instans baru kelas InkToolbarCustomPen . |
Properti
Dispatcher |
Mendapatkan CoreDispatcher yang dikaitkan dengan objek ini. CoreDispatcher mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI meskipun kode dimulai oleh utas non-UI. (Diperoleh dari DependencyObject) |
Metode
ClearValue(DependencyProperty) |
Menghapus nilai lokal properti dependensi. (Diperoleh dari DependencyObject) |
CreateInkDrawingAttributes(Brush, Double) |
Mengambil atribut InkToolbarCustomPen yang digunakan untuk InkToolbarPenConfigurationControl. |
CreateInkDrawingAttributesCore(Brush, Double) |
Ketika ditimpa di kelas turunan, mengambil objek InkDrawingAttributes yang digunakan untuk menentukan ConfigurationContent untuk InkToolbarCustomPen. Metode ini tidak dipanggil oleh kode aplikasi. |
GetAnimationBaseValue(DependencyProperty) |
Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif. (Diperoleh dari DependencyObject) |
GetValue(DependencyProperty) |
Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject. (Diperoleh dari DependencyObject) |
ReadLocalValue(DependencyProperty) |
Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan. (Diperoleh dari DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini. (Diperoleh dari DependencyObject) |
SetValue(DependencyProperty, Object) |
Mengatur nilai lokal properti dependensi pada DependencyObject. (Diperoleh dari DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback. (Diperoleh dari DependencyObject) |
Berlaku untuk
Lihat juga
- InkToolbarPenButton
- InkToolbarCustomPenButton
- DependencyObject
- Interaksi pena dan stylus
- Menambahkan InkToolbar ke aplikasi Platform Windows Universal (UWP)
- Tutorial Memulai: Tinta dukungan di aplikasi UWP Anda
- Kelas Windows.UI.Xaml.Controls
- Sampel tinta (JavaScript)
- Tutorial Memulai: Tinta dukungan di aplikasi UWP Anda
- Sampel buku mewarnai
- Sampel catatan keluarga