InkToolbar.InitialControls プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
初期化時に InkToolbar に追加される組み込みボタンのコレクションを取得または設定します。
このプロパティは、組み込みボタンの既定のコレクションをオーバーライドします。
既定では、 InkToolbar はボタンの種類の 2 つの異なるグループで構成されます。
- 組み込みの図面 (InkToolbarBallpointPenButton、InkToolbarPencilButton)、消去 (InkToolbarEraserButton)、強調表示 (InkToolbarHighlighterButton) ボタンを含む RadioButton グループ。 このグループでは、 InkToolbarCustomPenButton オブジェクトと InkToolbarCustomToolButton オブジェクトが追加されます。
機能の選択は相互に排他的です。
- 組み込みのステンシル (InkToolbarStencilButton) ボタン (または InkToolbarRulerButton ボタン) を含む 2 つ目の "トグル" ボタンのグループ。 カスタム トグル (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 を None に設定 します。
- 個々のボタンを追加します。
- InkToolbar UI エクスペリエンス (既定のボタンなど) を指定します。 次の例 (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 プロパティに追加されます。
組み込みボタンは、それぞれのコントロール グループ内で事前に決定された順序で表示されます。 カスタム ボタンは、すべての組み込みボタンの後に、指定した順序で適切なコントロール グループに追加されます。