InkToolbarCustomPen Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una penna InkToolbar per cui le proprietà della tavolozza dei colori dell'input penna e della punta della penna, ad esempio forma, rotazione e dimensioni, sono definite dall'app 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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)
|
Esempio
Ecco una definizione di penna calligrafica personalizzata.
- Nel code-behind viene prima creata una classe penna personalizzata derivata da InkToolbarCustomPen.
Una classe penna personalizzata deve eseguire l'override del metodo CreateInkDrawingAttributesCore e fornire InkDrawingAttributes per la configurazione personalizzata. In questo esempio si personalizzano gli InkDrawingAttributes seguenti:
- PenTip è impostato su PenTipShape.Circle;
-
Size è impostato su Windows.Foundation.Size di
(strokeWidth, strokeWidth * 20)
. - Color è impostato su SolidColorBrush selezionato dalla tavolozza o Colors.Black per impostazione predefinita.
- PenTipTransform (tramite Matrix3x2.CreateRotation) è impostato per ruotare la punta della penna di 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;
}
}
}
- Nel markup la classe penna personalizzata viene quindi associata usando un riferimento all'estensione di markup {StaticResource} nell'attributo CustomPen dell'elemento InkToolbarCustomPenButton . In alternativa, è possibile creare un'istanza della penna personalizzata e assegnarla a InkToolbarCustomPenButton.CustomPen nel codice.
È possibile usare incorporato InkToolbarPenConfigurationControl (come illustrato di seguito) oppure è possibile specificare una definizione inkToolbarPenConfigurationControl personalizzata nella dichiarazione della penna InkToolbar standard.
Ecco la dichiarazione per la penna personalizzata definita nel frammento precedente.
<!-- 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>
Ecco la definizione di CalligraphicPenIcon
dal MainPage.xaml.cs
file di questo esempio.
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();
}
}
}
Commenti
Per creare una penna definita dall'app e il pulsante corrispondente in InkToolbar, usare questa classe insieme a InkToolbarCustomPenButton.
Costruttori
InkToolbarCustomPen() |
Inizializza una nuova istanza della classe InkToolbarCustomPen . |
Proprietà
Dispatcher |
Ottiene coreDispatcher a cui è associato questo oggetto. CoreDispatcher rappresenta una funzionalità che può accedere a DependencyObject nel thread dell'interfaccia utente anche se il codice viene avviato da un thread non dell'interfaccia utente. (Ereditato da DependencyObject) |
Metodi
ClearValue(DependencyProperty) |
Cancella il valore locale di una proprietà di dipendenza. (Ereditato da DependencyObject) |
CreateInkDrawingAttributes(Brush, Double) |
Recupera gli attributi InkToolbarCustomPen utilizzati per un controllo InkToolbarPenConfigurationControl. |
CreateInkDrawingAttributesCore(Brush, Double) |
Quando ne viene eseguito l'override in una classe derivata, recupera un oggetto InkDrawingAttributes utilizzato per specificare ConfigurationContent per inkToolbarCustomPen.When overridden in a derived class, retrieves an InkDrawingAttributes object used to specify the ConfigurationContent for an InkToolbarCustomPen. Questo metodo non viene chiamato dal codice dell'applicazione. |
GetAnimationBaseValue(DependencyProperty) |
Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva. (Ereditato da DependencyObject) |
GetValue(DependencyProperty) |
Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject. (Ereditato da DependencyObject) |
ReadLocalValue(DependencyProperty) |
Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale. (Ereditato da DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una funzione di notifica per l'ascolto delle modifiche apportate a una dipendenza specifica in questa istanza di DependencyObject . (Ereditato da DependencyObject) |
SetValue(DependencyProperty, Object) |
Imposta il valore locale di una proprietà di dipendenza su dependencyObject. (Ereditato da DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback. (Ereditato da DependencyObject) |
Si applica a
Vedi anche
- InkToolbarPenButton
- InkToolbarCustomPenButton
- DependencyObject
- Interazioni tramite penna e stilo
- Aggiungere un controllo InkToolbar a un'app piattaforma UWP (Universal Windows Platform) (UWP)
- Esercitazione introduttiva: Supportare l'input penna nell'app UWP
- Classi Windows.UI.Xaml.Controls
- Esempio di input penna (JavaScript)
- Esercitazione introduttiva: Supportare l'input penna nell'app UWP
- Esempio di app Coloring Book
- Esempio FamilyNotes