InkToolbarCustomToolButton 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个 InkToolbar 按钮,该按钮调用由主机应用定义的非笔工具。
/// [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 InkToolbarCustomToolButton : InkToolbarToolButton
[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 InkToolbarCustomToolButton : InkToolbarToolButton
Public Class InkToolbarCustomToolButton
Inherits InkToolbarToolButton
- 继承
-
Object IInspectable DependencyObject UIElement FrameworkElement Control ContentControl ButtonBase ToggleButton RadioButton InkToolbarToolButton InkToolbarCustomToolButton
- 属性
Windows 要求
设备系列 |
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)
|
示例
默认情况下,InkPresenter 将所有输入作为墨迹笔划或擦除笔划进行处理。 这包括由辅助硬件提示(例如笔桶按钮、鼠标右键按钮或类似提示)修改的输入。 但是,InkPresenter 可以配置为不处理特定输入,它随后可传递到你的应用以供自定义处理。
在此示例中,我们定义自定义工具按钮,选中该按钮后,后续笔划将进行处理并呈现为所选套索(虚线)而非墨迹。 所选区域边界内的所有笔划墨迹都设置为已选中。
以下示例逐步介绍如何通过自定义工具按钮启用笔划选择。
注意
有关 InkCanvas 和 InkToolbar UX 指南,请参阅墨迹书写控件。 以下建议与此示例相关:
- 如果提供笔划选择,我们建议为工具按钮使用“Segoe MLD2 Assets”字体中的“EF20”图标,并附带“选择工具”工具提示。
首先,我们在 MainPage.xaml 中设置 UI。
- 我们将 InkToolbarCustomToolButton 元素声明 (
customToolButton
) Click 事件侦听器 ,该侦听器指定配置了笔划选择的事件处理程序 (customToolButton_Click
) 。 (我们还添加了一组用于复制、剪切和粘贴笔划选择的按钮。) - 我们还添加了一个 Canvas 元素,用于绘制我们的选择笔划。 使用单独的图层绘制选择笔划可使 InkCanvas 及其内容不会受到影响。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<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>
<StackPanel x:Name="ToolPanel" Orientation="Horizontal" Grid.Row="1">
<InkToolbar x:Name="inkToolbar"
VerticalAlignment="Top"
TargetInkCanvas="{x:Bind inkCanvas}">
<InkToolbarCustomToolButton
x:Name="customToolButton"
Click="customToolButton_Click"
ToolTipService.ToolTip="Selection tool">
<SymbolIcon Symbol="{x:Bind SelectIcon}"/>
</InkToolbarCustomToolButton>
</InkToolbar>
<Button x:Name="cutButton"
Content="Cut"
Click="cutButton_Click"
Width="100"
Margin="5,0,0,0"/>
<Button x:Name="copyButton"
Content="Copy"
Click="copyButton_Click"
Width="100"
Margin="5,0,0,0"/>
<Button x:Name="pasteButton"
Content="Paste"
Click="pasteButton_Click"
Width="100"
Margin="5,0,0,0"/>
</StackPanel>
<Grid Grid.Row="2" x:Name="outputGrid"
Background="{ThemeResource SystemControlBackgroundChromeWhiteBrush}"
Height="Auto">
<!-- Canvas for displaying selection UI. -->
<Canvas x:Name="selectionCanvas"/>
<!-- Canvas for displaying ink. -->
<InkCanvas x:Name="inkCanvas" />
</Grid>
</Grid>
然后,我们处理代码隐藏文件中 InkToolbarCustomToolButton 的 MainPage.xaml.cs
Click 事件。
此处理程序配置 InkPresenter,以将未处理的输入传递到应用。
有关此代码的更详细步骤请参阅 UWP 应用中笔交互和Windows Ink的直通输入高级处理部分。
我们还使用 SymbolIcon 元素和 {x:Bind} 标记扩展 为按钮指定了一个图标,该扩展将其绑定到代码隐藏文件中定义的字段 (SelectIcon
) 。
对于此示例,以下代码片段包含 Click 事件处理程序和 的定义 SelectIcon
。
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_AddCustomTool : Page
{
// Icon for custom selection tool button.
Symbol SelectIcon = (Symbol)0xEF20;
// Stroke selection tool.
private Polyline lasso;
// Stroke selection area.
private Rect boundingRect;
public MainPage_AddCustomTool()
{
this.InitializeComponent();
// Listen for new ink or erase strokes to clean up selection UI.
inkCanvas.InkPresenter.StrokeInput.StrokeStarted +=
StrokeInput_StrokeStarted;
inkCanvas.InkPresenter.StrokesErased +=
InkPresenter_StrokesErased;
}
private void customToolButton_Click(object sender, RoutedEventArgs e)
{
// By default, the InkPresenter processes input modified by
// a secondary affordance (pen barrel button, right mouse
// button, or similar) as ink.
// To pass through modified input to the app for custom processing
// on the app UI thread instead of the background ink thread, set
// InputProcessingConfiguration.RightDragAction to LeaveUnprocessed.
inkCanvas.InkPresenter.InputProcessingConfiguration.RightDragAction =
InkInputRightDragAction.LeaveUnprocessed;
// Listen for unprocessed pointer events from modified input.
// The input is used to provide selection functionality.
inkCanvas.InkPresenter.UnprocessedInput.PointerPressed +=
UnprocessedInput_PointerPressed;
inkCanvas.InkPresenter.UnprocessedInput.PointerMoved +=
UnprocessedInput_PointerMoved;
inkCanvas.InkPresenter.UnprocessedInput.PointerReleased +=
UnprocessedInput_PointerReleased;
}
// Handle new ink or erase strokes to clean up selection UI.
private void StrokeInput_StrokeStarted(
InkStrokeInput sender, Windows.UI.Core.PointerEventArgs args)
{
ClearSelection();
}
private void InkPresenter_StrokesErased(
InkPresenter sender, InkStrokesErasedEventArgs args)
{
ClearSelection();
}
private void cutButton_Click(object sender, RoutedEventArgs e)
{
inkCanvas.InkPresenter.StrokeContainer.CopySelectedToClipboard();
inkCanvas.InkPresenter.StrokeContainer.DeleteSelected();
ClearSelection();
}
private void copyButton_Click(object sender, RoutedEventArgs e)
{
inkCanvas.InkPresenter.StrokeContainer.CopySelectedToClipboard();
}
private void pasteButton_Click(object sender, RoutedEventArgs e)
{
if (inkCanvas.InkPresenter.StrokeContainer.CanPasteFromClipboard())
{
inkCanvas.InkPresenter.StrokeContainer.PasteFromClipboard(
new Point(0, 0));
}
else
{
// Cannot paste from clipboard.
}
}
// Clean up selection UI.
private void ClearSelection()
{
var strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in strokes)
{
stroke.Selected = false;
}
ClearBoundingRect();
}
private void ClearBoundingRect()
{
if (selectionCanvas.Children.Any())
{
selectionCanvas.Children.Clear();
boundingRect = Rect.Empty;
}
}
// Handle unprocessed pointer events from modifed input.
// The input is used to provide selection functionality.
// Selection UI is drawn on a canvas under the InkCanvas.
private void UnprocessedInput_PointerPressed(
InkUnprocessedInput sender, PointerEventArgs args)
{
// Initialize a selection lasso.
lasso = new Polyline()
{
Stroke = new SolidColorBrush(Windows.UI.Colors.Blue),
StrokeThickness = 1,
StrokeDashArray = new DoubleCollection() { 5, 2 },
};
lasso.Points.Add(args.CurrentPoint.RawPosition);
selectionCanvas.Children.Add(lasso);
}
private void UnprocessedInput_PointerMoved(
InkUnprocessedInput sender, PointerEventArgs args)
{
// Add a point to the lasso Polyline object.
lasso.Points.Add(args.CurrentPoint.RawPosition);
}
private void UnprocessedInput_PointerReleased(
InkUnprocessedInput sender, PointerEventArgs args)
{
// Add the final point to the Polyline object and
// select strokes within the lasso area.
// Draw a bounding box on the selection canvas
// around the selected ink strokes.
lasso.Points.Add(args.CurrentPoint.RawPosition);
boundingRect =
inkCanvas.InkPresenter.StrokeContainer.SelectWithPolyLine(
lasso.Points);
DrawBoundingRect();
}
// Draw a bounding rectangle, on the selection canvas, encompassing
// all ink strokes within the lasso area.
private void DrawBoundingRect()
{
// Clear all existing content from the selection canvas.
selectionCanvas.Children.Clear();
// Draw a bounding rectangle only if there are ink strokes
// within the lasso area.
if (!((boundingRect.Width == 0) ||
(boundingRect.Height == 0) ||
boundingRect.IsEmpty))
{
var rectangle = new Rectangle()
{
Stroke = new SolidColorBrush(Windows.UI.Colors.Blue),
StrokeThickness = 1,
StrokeDashArray = new DoubleCollection() { 5, 2 },
Width = boundingRect.Width,
Height = boundingRect.Height
};
Canvas.SetLeft(rectangle, boundingRect.X);
Canvas.SetTop(rectangle, boundingRect.Y);
selectionCanvas.Children.Add(rectangle);
}
}
}
}
注解
InkToolbar 由两组不同的按钮类型组成:
一组包含内置绘图的“工具”按钮 (InkToolbarBallpointPenButton、 InkToolbarPencilButton) 、擦除 (InkToolbarEraserButton) ,并突出显示 (InkToolbarHighlighterButton) 按钮。 此处添加了自定义工具 (InkToolbarCustomPenButton 和 InkToolbarCustomToolButton) 。
功能选择相互排斥。
第二组“切换”按钮,其中包含内置模具 (InkToolbarStencilButton) 按钮 (或 InkToolbarRulerButton 按钮) 。 此处添加了自定义切换 (InkToolbarCustomToggleButton) 。
功能相互不排斥,并且可以与其他活动工具同时使用。
默认情况下可以显示内置按钮,也可以指定应用应显示的按钮。
你无法更改内置按钮的显示顺序。 默认显示顺序为: InkToolbarBallpointPenButton、 InkToolbarPencilButton、 InkToolbarHighlighterButton、 InkToolbarEraserButton 和 InkToolbarRulerButton,自定义工具按钮追加到单选按钮组,自定义切换按钮追加到切换按钮组。
构造函数
InkToolbarCustomToolButton() |
初始化 InkToolbarCustomToolButton 类的新实例。 |
属性
AccessKey |
获取或设置此元素的访问键 (助记键) 。 (继承自 UIElement) |
AccessKeyScopeOwner |
获取或设置一个源元素,该元素为此元素提供访问键范围,即使它不在源元素的可视化树中也是如此。 (继承自 UIElement) |
ActualHeight |
获取 FrameworkElement 的呈现高度。 请参阅“备注”。 (继承自 FrameworkElement) |
ActualOffset |
获取在布局过程的排列传递期间计算的此 UIElement 相对于其父级的位置。 (继承自 UIElement) |
ActualSize |
获取此 UIElement 在布局过程的排列过程中计算的大小。 (继承自 UIElement) |
ActualTheme |
获取元素当前使用的 UI 主题,该主题可能与 RequestedTheme 不同。 (继承自 FrameworkElement) |
ActualWidth |
获取 FrameworkElement 的呈现宽度。 请参阅“备注”。 (继承自 FrameworkElement) |
AllowDrop |
获取或设置一个值,该值确定此 UIElement 是否可以作为拖放操作的放置目标。 (继承自 UIElement) |
AllowFocusOnInteraction |
获取或设置一个值,该值指示当用户与元素交互时是否自动获得焦点。 (继承自 FrameworkElement) |
AllowFocusWhenDisabled |
获取或设置禁用的控件是否可以接收焦点。 (继承自 FrameworkElement) |
Background |
获取或设置提供控件背景的画笔。 (继承自 Control) |
BackgroundSizing |
获取或设置一个值,该值指示背景相对于此元素边框的延伸程度。 (继承自 Control) |
BaseUri |
获取统一资源标识符 (URI) ,表示 XAML 加载时 XAML 构造对象的基统一资源标识符 (URI) 。 此属性适用于统一资源标识符 (URI) 运行时的解析。 (继承自 FrameworkElement) |
BorderBrush |
获取或设置描述控件边框填充的画笔。 (继承自 Control) |
BorderThickness |
获取或设置控件的边框宽度。 (继承自 Control) |
CacheMode |
获取或设置一个值,该值指示应尽可能将呈现的内容缓存为复合位图。 (继承自 UIElement) |
CanBeScrollAnchor |
获取或设置一个值,该值指示 UIElement 是否可以成为滚动定位的候选项。 (继承自 UIElement) |
CanDrag |
获取或设置一个值,该值指示是否可以在拖放操作中将元素作为数据拖动。 (继承自 UIElement) |
CenterPoint |
获取或设置 元素的中心点,该中心点是关于发生旋转或缩放的点。 影响元素的呈现位置。 (继承自 UIElement) |
CharacterSpacing |
获取或设置字符之间的统一间距,单位为 1/1000 em。 (继承自 Control) |
ClickMode |
获取或设置一个值,该值指示 单击 事件发生的时间(就设备行为而言)。 (继承自 ButtonBase) |
Clip |
获取或设置用于定义 UIElement 内容的大纲的 RectangleGeometry。 (继承自 UIElement) |
Command |
获取或设置在按下按钮时调用的命令。 (继承自 ButtonBase) |
CommandParameter |
获取或设置要传递给 Command 属性的参数。 (继承自 ButtonBase) |
CompositeMode |
获取或设置一个属性,该属性声明元素在其父布局和窗口中的替代组合和混合模式。 这与混合 XAML/Microsoft DirectX UI 中涉及的元素相关。 (继承自 UIElement) |
ConfigurationContent |
获取或设置与 InkToolbarCustomToolButton 关联的可选墨迹笔划配置浮出控件的内容。 |
ConfigurationContentProperty |
标识 ConfigurationContent 依赖属性。 |
Content |
获取或设置 ContentControl 的内容。 (继承自 ContentControl) |
ContentTemplate |
获取或设置用于显示 ContentControl 内容的数据模板。 (继承自 ContentControl) |
ContentTemplateRoot |
获取 ContentTemplate 属性指定的数据模板的根元素。 (继承自 ContentControl) |
ContentTemplateSelector |
获取或设置一个选择对象,该对象根据在运行时处理有关内容项或其容器的信息,将 DataTemplate 更改为适用于内容。 (继承自 ContentControl) |
ContentTransitions |
获取或设置应用于 ContentControl 内容的 Transition 样式元素的集合。 (继承自 ContentControl) |
ContextFlyout |
获取或设置与此元素关联的浮出控件。 (继承自 UIElement) |
CornerRadius |
获取或设置控件边框角的半径。 (继承自 Control) |
DataContext |
获取或设置 FrameworkElement 的数据上下文。 数据上下文的常见用途是 FrameworkElement 使用 {Binding} 标记扩展并参与数据绑定。 (继承自 FrameworkElement) |
DefaultStyleKey |
获取或设置引用控件的默认样式的键。 自定义控件的作者使用此属性更改其控件使用的样式的默认值。 (继承自 Control) |
DefaultStyleResourceUri |
获取或设置包含控件的默认样式的资源文件的路径。 (继承自 Control) |
DesiredSize |
获取此 UIElement 在布局过程的度量传递期间计算的大小。 (继承自 UIElement) |
Dispatcher |
获取与此 对象关联的 CoreDispatcher 。 CoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。 (继承自 DependencyObject) |
ElementSoundMode |
获取或设置一个值,该值指定控件是否播放声音的首选项。 (继承自 Control) |
ExitDisplayModeOnAccessKeyInvoked |
获取或设置一个值,该值指定在调用访问密钥时是否消除访问密钥显示。 (继承自 UIElement) |
FlowDirection |
获取或设置文本和其他 UI 元素在控制其布局的任何父元素中的流动方向。 此属性可以设置为 LeftToRight 或 RightToLeft。 在任何元素上将 FlowDirection 设置为 RightToLeft 会将对齐方式设置为右对齐,将读取顺序设置为从右到左,并将控件的布局设置为从右到左流动。 (继承自 FrameworkElement) |
FocusState |
获取一个值,该值指定此控件是否具有焦点,以及获取焦点的模式。 (继承自 Control) |
FocusVisualMargin |
获取或设置 FrameworkElement 的焦点视觉对象的外边距。 (继承自 FrameworkElement) |
FocusVisualPrimaryBrush |
获取或设置用于绘制 FrameworkElement 或 |
FocusVisualPrimaryThickness |
获取或设置 FrameworkElement 或 |
FocusVisualSecondaryBrush |
获取或设置用于绘制 FrameworkElement 或 |
FocusVisualSecondaryThickness |
获取或设置 FrameworkElement 或 |
FontFamily |
获取或设置用于显示控件中的文本的字体。 (继承自 Control) |
FontSize |
获取或设置此控件中文本的大小。 (继承自 Control) |
FontStretch |
获取或设置字体在屏幕上紧缩或加宽的程度。 (继承自 Control) |
FontStyle |
获取或设置呈现文本的样式。 (继承自 Control) |
FontWeight |
获取或设置指定字体的粗细。 (继承自 Control) |
Foreground |
获取或设置一个用于描述前景色的画笔。 (继承自 Control) |
GroupName |
获取或设置指定哪些 RadioButton 控件互斥的名称。 (继承自 RadioButton) |
Height |
获取或设置 FrameworkElement 的建议高度。 (继承自 FrameworkElement) |
HighContrastAdjustment |
获取或设置一个值,该值指示框架是否在启用高对比度主题时自动调整元素的视觉属性。 (继承自 UIElement) |
HorizontalAlignment |
获取或设置在布局父级(如面板或项控件)中组合时应用于 FrameworkElement 的水平对齐特征。 (继承自 FrameworkElement) |
HorizontalContentAlignment |
获取或设置控件内容的水平对齐方式。 (继承自 Control) |
IsAccessKeyScope |
获取或设置一个值,该值指示元素是否定义其自己的访问键范围。 (继承自 UIElement) |
IsChecked |
获取或设置是否选中 ToggleButton 。 (继承自 ToggleButton) |
IsDoubleTapEnabled |
获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsEnabled |
获取或设置一个值,该值指示用户是否可以与控件交互。 (继承自 Control) |
IsExtensionGlyphShown |
获取或设置 InkToolbarToolButton 上是否显示字形,以指示是否存在墨迹笔划配置浮出控件。 (继承自 InkToolbarToolButton) |
IsFocusEngaged |
获取或设置一个值,该值指示焦点是否受限于游戏板/远程交互) 的控制边界 (。 (继承自 Control) |
IsFocusEngagementEnabled |
获取或设置一个值,该值指示是否可以在游戏板/远程交互) (控制边界内限制焦点。 (继承自 Control) |
IsHitTestVisible |
获取或设置此 UIElement 的包含区域是否可以为命中测试返回 true 值。 (继承自 UIElement) |
IsHoldingEnabled |
获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。 (继承自 UIElement) |
IsLoaded |
获取一个值,该值指示是否已将元素添加到元素树中并准备好进行交互。 (继承自 FrameworkElement) |
IsPointerOver |
获取一个值,该值指示设备指针是否位于此按钮控件上。 (继承自 ButtonBase) |
IsPressed |
获取一个值,该值指示 ButtonBase 当前是否处于按下状态。 (继承自 ButtonBase) |
IsRightTapEnabled |
获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsTabStop |
获取或设置一个值,该值指示是否将某个控件包含在 Tab 导航中。 (继承自 Control) |
IsTapEnabled |
获取或设置一个值,该值确定 点击 事件是否可以源自该元素。 (继承自 UIElement) |
IsTextScaleFactorEnabled |
获取或设置是否启用自动文本放大,以反映系统文本大小设置。 (继承自 Control) |
IsThreeState |
获取或设置一个值,该值指示控件是否支持三种状态。 (继承自 ToggleButton) |
KeyboardAcceleratorPlacementMode |
获取或设置一个值,该值指示控件 工具提示 是否显示其关联键盘快捷键的组合。 (继承自 UIElement) |
KeyboardAcceleratorPlacementTarget |
获取或设置一个值,该值指示显示快捷键组合的控件 工具提示 。 (继承自 UIElement) |
KeyboardAccelerators |
获取使用键盘调用操作的组合键的集合。 加速键通常分配给按钮或菜单项。
|
KeyTipHorizontalOffset |
获取或设置一个值,该值指示键提示相对于 UIElement 的左或右放置位置。 (继承自 UIElement) |
KeyTipPlacementMode |
获取或设置一个值,该值指示访问键提示相对于 UIElement 边界放置的位置。 (继承自 UIElement) |
KeyTipTarget |
获取或设置一个值,该值指示访问键提示所针对的元素。 (继承自 UIElement) |
KeyTipVerticalOffset |
获取或设置一个值,该值指示键提示相对于 UI 元素向上或向下放置的距离。 (继承自 UIElement) |
Language |
获取或设置适用于 FrameworkElement 以及对象表示形式和 UI 中当前 FrameworkElement 的所有子元素的本地化/全球化语言信息。 (继承自 FrameworkElement) |
Lights |
获取附加到此元素的 XamlLight 对象的集合。 (继承自 UIElement) |
ManipulationMode |
获取或设置用于 UIElement 行为和与手势交互的 ManipulationModes 值。 通过设置此值,可以在应用代码中处理此元素中的操作事件。 (继承自 UIElement) |
Margin |
获取或设置 FrameworkElement 的外部边距。 (继承自 FrameworkElement) |
MaxHeight |
获取或设置 FrameworkElement 的最大高度约束。 (继承自 FrameworkElement) |
MaxWidth |
获取或设置 FrameworkElement 的最大宽度约束。 (继承自 FrameworkElement) |
MinHeight |
获取或设置 FrameworkElement 的最小高度约束。 (继承自 FrameworkElement) |
MinWidth |
获取或设置 FrameworkElement 的最小宽度约束。 (继承自 FrameworkElement) |
Name |
获取或设置 对象的标识名称。 当 XAML 处理器从 XAML 标记创建对象树时,运行时代码可以按此名称引用 XAML 声明的对象。 (继承自 FrameworkElement) |
Opacity |
获取或设置对象的不透明度程度。 (继承自 UIElement) |
OpacityTransition |
获取或设置对 Opacity 属性的更改进行动画处理的 ScalarTransition。 (继承自 UIElement) |
Padding |
获取或设置控件内部的填充边距。 (继承自 Control) |
Parent |
获取对象树中此 FrameworkElement 的父对象。 (继承自 FrameworkElement) |
PointerCaptures |
获取所有捕获的指针的集合,表示为 Pointer 值。 (继承自 UIElement) |
Projection |
获取或设置呈现此元素时要应用的透视投影 (三维效果) 。 (继承自 UIElement) |
RenderSize |
获取 UIElement 的最终呈现大小。 不建议使用 ,请参阅备注。 (继承自 UIElement) |
RenderTransform |
获取或设置影响 UIElement 呈现位置的转换信息。 (继承自 UIElement) |
RenderTransformOrigin |
获取或设置 RenderTransform 声明的任何可能的呈现转换相对于 UIElement 边界的原点。 (继承自 UIElement) |
RequestedTheme |
获取或设置 UIElement (使用的 UI 主题及其子元素) 资源确定。 使用 RequestedTheme 指定的 UI 主题可以替代应用级 RequestedTheme。 (继承自 FrameworkElement) |
RequiresPointer |
获取或设置 UI 元素是否支持鼠标模式,该模式模拟非指针输入设备(如游戏板或遥控器)的指针交互体验。 (继承自 Control) |
Resources |
获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为 property 元素的 |
Rotation |
获取或设置顺时针旋转的角度(以度为单位)。 相对于 RotationAxis 和 CenterPoint 旋转。 影响元素的呈现位置。 (继承自 UIElement) |
RotationAxis |
获取或设置要围绕元素旋转的轴。 (继承自 UIElement) |
RotationTransition |
获取或设置对 Rotation 属性的更改进行动画处理的 ScalarTransition。 (继承自 UIElement) |
Scale |
获取或设置元素的刻度。 相对于元素的 CenterPoint 缩放。 影响元素的呈现位置。 (继承自 UIElement) |
ScaleTransition |
获取或设置对 Scale 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
Shadow |
获取或设置元素投射的阴影效果。 (继承自 UIElement) |
Style |
获取或设置在布局和呈现期间为此对象应用的实例 Style 。 (继承自 FrameworkElement) |
TabFocusNavigation |
获取或设置一个值,该值修改 Tabbing 和 TabIndex 对此控件的工作方式。 (继承自 UIElement) |
TabIndex |
获取或设置一个值,该值指示当用户使用 Tab 键浏览应用 UI 时元素接收焦点的顺序。 (继承自 Control) |
TabNavigation |
获取或设置一个值,该值修改 tabbing 和 TabIndex 对此控件的工作方式。 注意 对于Windows 10 创意者更新 (内部版本 10.0.15063) 及更新版本,TabFocusNavigation 属性在 UIElement 基类上可用,以包括选项卡序列中不使用 ControlTemplate 的对象。 |
Tag |
获取或设置可用于存储有关此对象的自定义信息的任意对象值。 (继承自 FrameworkElement) |
Template |
获取或设置控件模板。 控件模板在 UI 中定义控件的视觉外观,并在 XAML 标记中定义。 (继承自 Control) |
ToolKind |
获取与 InkToolbarToolButton 关联的内置或自定义工具的类型。 (继承自 InkToolbarToolButton) |
Transform3D |
获取或设置呈现此元素时要应用的三维转换效果。 (继承自 UIElement) |
TransformMatrix |
获取或设置要应用于元素的转换矩阵。 (继承自 UIElement) |
Transitions |
获取或设置应用于 UIElement 的 Transition 样式元素的集合。 (继承自 UIElement) |
Translation |
获取或设置元素的 x、y 和 z 呈现位置。 (继承自 UIElement) |
TranslationTransition |
获取或设置对 Translation 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
Triggers |
获取为 FrameworkElement 定义的动画触发器的集合。 不常用。 请参阅“备注”。 (继承自 FrameworkElement) |
UIContext |
获取 元素的上下文标识符。 (继承自 UIElement) |
UseLayoutRounding |
获取或设置一个值,该值确定对象及其可视子树的呈现是否应使用使呈现与整个像素对齐的舍入行为。 (继承自 UIElement) |
UseSystemFocusVisuals |
获取或设置一个值,该值指示控件是使用系统绘制的焦点视觉对象还是控件模板中定义的视觉对象。 (继承自 Control) |
VerticalAlignment |
获取或设置当 FrameworkElement 在父对象(如面板或项目控件)中组合时应用于它的垂直对齐特征。 (继承自 FrameworkElement) |
VerticalContentAlignment |
获取或设置控件内容的垂直对齐方式。 (继承自 Control) |
Visibility |
获取或设置 UIElement 的可见性。 不可见的 UIElement 不会呈现,也不会将其所需大小传达给布局。 (继承自 UIElement) |
Width |
获取或设置 FrameworkElement 的宽度。 (继承自 FrameworkElement) |
XamlRoot |
获取或设置 |
XYFocusDown |
获取或设置当用户按下方向键 (方向键) 时获取焦点的对象。 (继承自 Control) |
XYFocusDownNavigationStrategy |
获取或设置一个值,该值指定用于确定向下导航的目标元素的策略。 (继承自 UIElement) |
XYFocusKeyboardNavigation |
获取或设置一个值,该值使用键盘方向箭头启用或禁用导航。 (继承自 UIElement) |
XYFocusLeft |
获取或设置当用户向左按方向键 (方向键时获取焦点的对象) 。 (继承自 Control) |
XYFocusLeftNavigationStrategy |
获取或设置一个值,该值指定用于确定左侧导航的目标元素的策略。 (继承自 UIElement) |
XYFocusRight |
获取或设置当用户向右按方向键 (方向键时获取焦点的对象) 。 (继承自 Control) |
XYFocusRightNavigationStrategy |
获取或设置一个值,该值指定用于确定右侧导航的目标元素的策略。 (继承自 UIElement) |
XYFocusUp |
获取或设置当用户按下方向键 (方向键) 时获取焦点的对象。 (继承自 Control) |
XYFocusUpNavigationStrategy |
获取或设置一个值,该值指定用于确定向上导航的目标元素的策略。 (继承自 UIElement) |
方法
事件
AccessKeyDisplayDismissed |
在不应再显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyDisplayRequested |
当用户请求显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyInvoked |
当用户完成访问键序列时发生。 (继承自 UIElement) |
ActualThemeChanged |
在 ActualTheme 属性值更改时发生。 (继承自 FrameworkElement) |
BringIntoViewRequested |
在此元素或其后代之一上调用 StartBringIntoView 时发生。 (继承自 UIElement) |
CharacterReceived |
输入队列接收到单个组合字符时发生。 (继承自 UIElement) |
Checked |
选中 ToggleButton 时触发。 (继承自 ToggleButton) |
Click |
单击按钮控件时发生。 (继承自 ButtonBase) |
ContextCanceled |
当上下文输入手势继续转换为操作手势时发生,以通知元素不应打开上下文浮出控件。 (继承自 UIElement) |
ContextRequested |
当用户完成上下文输入手势(例如右键单击)时发生。 (继承自 UIElement) |
DataContextChanged |
在 FrameworkElement.DataContext 属性的值更改时发生。 (继承自 FrameworkElement) |
DoubleTapped |
当此元素的命中测试区域发生其他未经处理的 DoubleTap 交互时发生。 (继承自 UIElement) |
DragEnter |
当输入系统报告具有此元素作为目标的基础拖动事件时发生。 (继承自 UIElement) |
DragLeave |
当输入系统报告具有此元素作为原点的基础拖动事件时发生。 (继承自 UIElement) |
DragOver |
在输入系统报告出现以此元素为可能放置目标的基础拖动事件时发生。 (继承自 UIElement) |
DragStarting |
在启动拖动操作时发生。 (继承自 UIElement) |
Drop |
在输入系统报告出现将此元素作为放置目标的基础放置事件时发生。 (继承自 UIElement) |
DropCompleted |
结束此元素作为源的拖放操作时发生。 (继承自 UIElement) |
EffectiveViewportChanged |
在 FrameworkElement的有效视区 更改时发生。 (继承自 FrameworkElement) |
FocusDisengaged |
当焦点从游戏板/远程交互) 的控制边界 (释放时发生。 (继承自 Control) |
FocusEngaged |
当焦点限制在游戏板/远程交互) 的控制边界 (时发生。 (继承自 Control) |
GettingFocus |
在 UIElement 接收焦点之前发生。 此事件是同步引发的,以确保在事件冒泡时不会移动焦点。 (继承自 UIElement) |
GotFocus |
在 UIElement 收到焦点时发生。 此事件是异步引发的,因此焦点可以在浮升完成之前再次移动。 (继承自 UIElement) |
Holding |
当此元素的命中测试区域发生其他未处理的 保持 交互时发生。 (继承自 UIElement) |
Indeterminate |
当 ToggleButton 的状态切换到不确定状态时触发。 (继承自 ToggleButton) |
IsEnabledChanged |
在 IsEnabled 属性更改时发生。 (继承自 Control) |
KeyDown |
在 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
KeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
LayoutUpdated |
由于与布局相关的属性更改值或刷新布局的其他操作,可视化树的布局更改时发生。 (继承自 FrameworkElement) |
Loaded |
在已构造 FrameworkElement 并将其添加到对象树中并准备好交互时发生。 (继承自 FrameworkElement) |
Loading |
当 FrameworkElement 开始加载时发生。 (继承自 FrameworkElement) |
LosingFocus |
在 UIElement 失去焦点之前发生。 此事件是同步引发的,以确保在事件冒泡时不会移动焦点。 (继承自 UIElement) |
LostFocus |
当 UIElement 失去焦点时发生。 此事件是异步引发的,因此焦点可以在浮升完成之前再次移动。 (继承自 UIElement) |
ManipulationCompleted |
在 UIElement 上的操作完成时发生。 (继承自 UIElement) |
ManipulationDelta |
当输入设备在操作期间更改位置时发生。 (继承自 UIElement) |
ManipulationInertiaStarting |
在输入设备在操作期间与 UIElement 对象失去联系和延迟开始时发生。 (继承自 UIElement) |
ManipulationStarted |
在输入设备在 UIElement 上开始操作时发生。 (继承自 UIElement) |
ManipulationStarting |
在首次创建操作处理器时发生。 (继承自 UIElement) |
NoFocusCandidateFound |
当用户尝试通过选项卡或方向箭头 (移动焦点时发生) ,但焦点无法移动,因为没有在移动方向上找到焦点候选项。 (继承自 UIElement) |
PointerCanceled |
当进行接触的指针异常失去接触时发生。 (继承自 UIElement) |
PointerCaptureLost |
当指针捕获以前由此元素移动到另一个元素或其他位置时发生。 (继承自 UIElement) |
PointerEntered |
当指针进入此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerExited |
当指针离开此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerMoved |
当指针保持在此元素的命中测试区域内时,指针移动时发生。 (继承自 UIElement) |
PointerPressed |
当指针设备在此元素中启动 “按下” 操作时发生。 (继承自 UIElement) |
PointerReleased |
在释放之前启动 Press 操作的指针设备时发生,而此元素中。 请注意, 不保证按下 操作的结束会触发 PointerReleased 事件;其他事件可能会改为触发。 有关详细信息,请参阅备注。 (继承自 UIElement) |
PointerWheelChanged |
当指针滚轮的增量值更改时发生。 (继承自 UIElement) |
PreviewKeyDown |
在 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
PreviewKeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
ProcessKeyboardAccelerators |
按下 键盘快捷方式 (或快捷键) 时发生。 (继承自 UIElement) |
RightTapped |
当指针位于 元素上时发生右点击输入刺激时发生。 (继承自 UIElement) |
SizeChanged |
当 ActualHeight 或 ActualWidth 属性更改 FrameworkElement 上的值时发生。 (继承自 FrameworkElement) |
Tapped |
在此元素的命中测试区域上发生未经处理的 点击 交互时发生。 (继承自 UIElement) |
Unchecked |
在未选中 ToggleButton 时发生。 (继承自 ToggleButton) |
Unloaded |
当此对象不再连接到main对象树时发生。 (继承自 FrameworkElement) |