InkToolbar.InitialControls Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la colección de botones integrados agregados a InkToolbar en la inicialización.
Esta propiedad invalida la colección predeterminada de botones integrados.
De forma predeterminada, InkToolbar consta de dos grupos distintos de tipos de botón:
- Un grupo RadioButton que contiene el dibujo integrado (InkToolbarBallpointPenButton, InkToolbarPencilButton), borrar (InkToolbarEraserButton) y resaltar (InkToolbarHighlighterButton). Este grupo es donde se agregan objetos InkToolbarCustomPenButton y InkToolbarCustomToolButton .
La selección de características es mutuamente exclusiva.
- Un segundo grupo de botones de "alternancia" que contienen el botón de galería de símbolos integrado (InkToolbarStencilButton) (o el botón InkToolbarRulerButton ). Aquí se agregan alternancias personalizadas (InkToolbarCustomToggleButton).
Las características no son mutuamente exclusivas y se pueden usar simultáneamente con otras herramientas activas.
public:
property InkToolbarInitialControls InitialControls { InkToolbarInitialControls get(); void set(InkToolbarInitialControls value); };
InkToolbarInitialControls InitialControls();
void InitialControls(InkToolbarInitialControls value);
public InkToolbarInitialControls InitialControls { get; set; }
var inkToolbarInitialControls = inkToolbar.initialControls;
inkToolbar.initialControls = inkToolbarInitialControls;
Public Property InitialControls As InkToolbarInitialControls
Valor de propiedad
Colección de botones integrados que se van a agregar a InkToolbar.
Ejemplos
Para especificar qué botones integrados se muestran en la inicialización:
- Establezca InitialControls en Ninguno.
- Agregue los botones individuales.
- Especifique la experiencia de interfaz de usuario inkToolbar , como el botón predeterminado. Los ejemplos siguientes (XAML y código subyacente) muestran cómo borrar los botones predeterminados de InkToolber, agregar lápiz, lápiz y botones de borrador, y establecer el botón predeterminado en lápiz.
XAML
<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" />
<!-- Clear the default InkToolbar buttons by setting InitialControls to None. -->
<!-- Set the active tool to the pencil button. -->
<InkCanvas x:Name="inkCanvas" />
<InkToolbar x:Name="inkToolbar"
VerticalAlignment="Top"
TargetInkCanvas="{x:Bind inkCanvas}"
InitialControls="None"
ActiveTool="{x:Bind pencilButton}">
<!--
Add only the ballpoint pen, pencil, and eraser.
Note that the buttons are added to the toolbar in the order
defined by the framework, not the order we specify here.
-->
<InkToolbarEraserButton />
<InkToolbarBallpointPenButton />
<InkToolbarPencilButton x:Name="pencilButton"/>
</InkToolbar>
</Grid>
</Grid>
<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}" />
</Grid>
</Grid>
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// Here, we set up InkToolbar event listeners.
/// </summary>
public MainPage_CodeBehind()
{
this.InitializeComponent();
// Add handlers for InkToolbar events.
inkToolbar.Loading += inkToolbar_Loading;
//inkToolbar.Loaded += inkToolbar_Loaded;
}
/// <summary>
/// Handles the Loading event of the InkToolbar.
/// Here, we identify the buttons to include on the InkToolbar.
/// </summary>
/// <param name="sender">The InkToolbar</param>
/// <param name="args">The InkToolbar event data.
/// If there is no event data, this parameter is null</param>
private void inkToolbar_Loading(FrameworkElement sender, object args)
{
// Clear all built-in buttons from the InkToolbar.
inkToolbar.InitialControls = InkToolbarInitialControls.None;
// Add only the ballpoint pen, pencil, and eraser.
// Note that the buttons are added to the toolbar in the order
// defined by the framework, not the order we specify here.
InkToolbarBallpointPenButton ballpoint = new InkToolbarBallpointPenButton();
InkToolbarPencilButton pencil = new InkToolbarPencilButton();
InkToolbarEraserButton eraser = new InkToolbarEraserButton();
inkToolbar.Children.Add(eraser);
inkToolbar.Children.Add(ballpoint);
inkToolbar.Children.Add(pencil);
}
/// <summary>
/// Handle the Loaded event of the InkToolbar.
/// By default, the active tool is set to the first tool on the toolbar.
/// Here, we set the active tool to the pencil button.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void inkToolbar_Loaded(object sender, RoutedEventArgs e)
{
InkToolbarToolButton pencilButton = inkToolbar.GetToolButton(InkToolbarTool.Pencil);
inkToolbar.ActiveTool = pencilButton;
}
Comentarios
Los botones integrados predeterminados o los especificados mediante InitialControls no se agregan a la propiedad Children .
Los botones integrados o personalizados agregados mediante programación o declarados en XAML se agregan a la propiedad Children .
Los botones integrados se muestran en un orden predeterminado dentro de sus respectivos grupos de controles. Los botones personalizados se agregan al grupo de control adecuado en el orden especificado, después de todos los botones integrados.
Se aplica a
Consulte también
- Interacciones de pluma y lápiz
- Agregar un control InkToolbar a una aplicación Plataforma universal de Windows (UWP)
- Tutorial de introducción: Compatibilidad con la entrada de lápiz en la aplicación para UWP
- InitialControlsProperty
- Ejemplo de entrada de lápiz simple (C#/C++)
- Ejemplo de lápiz complejo (C++)
- Ejemplo de lápiz (JavaScript)
- Tutorial de introducción: Compatibilidad con la entrada de lápiz en la aplicación para UWP
- Muestra de libro para colorear