InkToolbarCustomPen Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un stylet InkToolbar pour lequel la palette de couleurs manuscrites et les propriétés de pointe du stylet, telles que la forme, la rotation et la taille, sont définies par l’application hôte.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v3.0)
|
Exemples
Voici une définition d’un stylo calligraphique personnalisé.
- Dans code-behind, nous créons d’abord une classe de stylet personnalisée dérivée d’InkToolbarCustomPen.
Une classe de stylet personnalisé doit remplacer la méthode CreateInkDrawingAttributesCore et fournir l’attribut InkDrawingAttributes pour la configuration personnalisée. Dans cet exemple, nous personnalisons les attributs InkDrawingAttributes suivants :
- PenTip est défini sur PenTipShape.Circle ;
-
Size est défini sur un Windows.Foundation.Size de
(strokeWidth, strokeWidth * 20)
. - Color est défini sur SolidColorBrush sélectionné dans la palette, ou Colors.Black par défaut.
- PenTipTransform (via Matrix3x2.CreateRotation) est défini pour faire pivoter la pointe du stylet de 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;
}
}
}
- Dans le balisage, nous liez ensuite notre classe de stylet personnalisé à l’aide d’une référence d’extension de balisage {StaticResource} dans l’attribut CustomPen de l’élément InkToolbarCustomPenButton (vous pouvez également instancier le stylet personnalisé et l’affecter à InkToolbarCustomPenButton.CustomPen dans le code).
Vous pouvez utiliser le inkToolbarPenConfigurationControl intégré (comme indiqué ici) ou spécifier une définition InkToolbarPenConfigurationControl personnalisée dans la déclaration de stylet InkToolbar standard.
Voici la déclaration pour le stylet personnalisé défini dans l’extrait de code précédent.
<!-- 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>
Voici la définition de à CalligraphicPenIcon
partir du MainPage.xaml.cs
fichier de cet exemple.
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();
}
}
}
Remarques
Pour créer un stylet défini par l’application et un bouton correspondant sur InkToolbar, utilisez cette classe conjointement avec InkToolbarCustomPenButton.
Constructeurs
InkToolbarCustomPen() |
Initialise une nouvelle instance de la classe InkToolbarCustomPen. |
Propriétés
Dispatcher |
Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une fonctionnalité qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur. (Hérité de DependencyObject) |
Méthodes
ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété de dépendance. (Hérité de DependencyObject) |
CreateInkDrawingAttributes(Brush, Double) |
Récupère les attributs InkToolbarCustomPen utilisés pour un InkToolbarPenConfigurationControl. |
CreateInkDrawingAttributesCore(Brush, Double) |
En cas de substitution dans une classe dérivée, récupère un objet InkDrawingAttributes utilisé pour spécifier le ConfigurationContent pour un Objet InkToolbarCustomPen. Cette méthode n’est pas appelée par le code de l’application. |
GetAnimationBaseValue(DependencyProperty) |
Retourne toute valeur de base établie pour une propriété de dépendance, qui s’appliquerait dans les cas où une animation n’est pas active. (Hérité de DependencyObject) |
GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject. (Hérité de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie. (Hérité de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject. (Hérité de DependencyObject) |
SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance sur un DependencyObject. (Hérité de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback. (Hérité de DependencyObject) |
S’applique à
Voir aussi
- InkToolbarPenButton
- InkToolbarCustomPenButton
- DependencyObject
- Interactions avec le stylo et le stylet
- Ajouter un InkToolbar à une application plateforme Windows universelle (UWP)
- Tutoriel de prise en main : Prise en charge de l’entrée manuscrite dans votre application UWP
- Classes Windows.UI.Xaml.Controls
- Exemple d’entrée manuscrite (JavaScript)
- Tutoriel de prise en main : Prise en charge de l’entrée manuscrite dans votre application UWP
- Exemple de livre de coloriage
- Exemple de notes de famille