InkToolbar.InitialControls Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает коллекцию встроенных кнопок, добавленных в InkToolbar при инициализации.
Это свойство переопределяет коллекцию встроенных кнопок по умолчанию.
По умолчанию inkToolbar состоит из двух разных групп типов кнопок:
- Группа RadioButton , содержащая встроенные кнопки рисования (InkToolbarBallpointPenButton, InkToolbarPencilButton), стирания (InkToolbarEraserButton) и выделения (InkToolbarHighlighterButton). В эту группу добавляются объекты InkToolbarCustomPenButton и InkToolbarCustomToolButton .
Функции являются взаимоисключающими.
- Вторая группа переключателей, содержащая встроенную кнопку набора элементов (InkToolbarStencilButton) (или кнопку InkToolbarRulerButton ). Здесь добавляются настраиваемые переключатели (InkToolbarCustomToggleButton).
Эти функции не являются взаимоисключающими, их можно использовать вместе с другими активными элементами.
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
Значение свойства
Коллекция встроенных кнопок для добавления в InkToolbar.
Примеры
Чтобы указать, какие встроенные кнопки будут отображаться при инициализации, выполните следующие действия.
- Задайте для свойства InitialControls значение Нет.
- Добавьте отдельные кнопки.
- Укажите интерфейс пользовательского интерфейса InkToolbar , например кнопку по умолчанию. В следующих примерах (как XAML, так и код программной части) показано, как очистить кнопки по умолчанию из InkToolber, добавить шариковую ручку, карандаш и кнопки ластика, а также задать для кнопки по умолчанию значение карандаш.
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;
}
Комментарии
Встроенные кнопки по умолчанию или кнопки, указанные в InitialControls, не добавляются в свойство Children .
Встроенные или настраиваемые кнопки, добавленные программным способом или объявленные в XAML, добавляются в свойство Children .
Встроенные кнопки отображаются в предварительно определенном порядке в соответствующих группах элементов управления. Пользовательские кнопки добавляются в соответствующую группу элементов управления в указанном порядке после всех встроенных кнопок.
Применяется к
См. также раздел
- Взаимодействие с помощью пера
- Добавление InkToolbar в приложение универсальной платформы Windows (UWP)
- Руководство по началу работы: поддержка рукописного ввода в приложении UWP
- InitialControlsProperty
- Простой пример рукописного ввода (C#/C++)
- Сложный пример рукописного ввода (C++)
- Пример рукописного ввода (JavaScript)
- Руководство по началу работы: поддержка рукописного ввода в приложении UWP
- Пример раскраски