InkToolbar.InitialControls 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
초기화 시 InkToolbar 에 추가된 기본 제공 단추의 컬렉션을 가져오거나 설정합니다.
이 속성은 기본 제공 단추의 기본 컬렉션을 재정의합니다.
기본적으로 InkToolbar 는 단추 유형의 두 가지 고유한 그룹으로 구성됩니다.
- 기본 제공 드로잉(InkToolbarBallpointPenButton, InkToolbarPencilButton), 지우기(InkToolbarEraserButton) 및 강조 표시(InkToolbarHighlighterButton) 단추가 포함된 RadioButton 그룹입니다. 이 그룹은 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 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 속성에 추가됩니다.
기본 제공 단추는 해당 컨트롤 그룹 내에서 미리 결정된 순서로 표시됩니다. 사용자 지정 단추는 모든 기본 제공 단추 다음에 지정된 순서대로 적절한 컨트롤 그룹에 추가됩니다.