ContentDialog 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示可以自定义为包含复选框、超链接、按钮和任何其他 XAML 内容的对话框。
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ContentDialog : ContentControl
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class ContentDialog : ContentControl
Public Class ContentDialog
Inherits ContentControl
<ContentDialog .../>
-or-
<ContentDialog>
singleObject
</ContentDialog>
-or-
<ContentDialog>stringContent</ContentDialog>
- 继承
-
Object IInspectable DependencyObject UIElement FrameworkElement Control ContentControl ContentDialog
- 属性
示例
提示
有关详细信息、设计指南和代码示例,请参阅 对话框控件。
WinUI 3 库应用包括大多数 WinUI 3 控件、特性和功能的交互式示例。 通过 Microsoft Store 获取应用,或在 GitHub 上获取源代码。
此示例演示如何在代码中创建和显示简单的 ContentDialog。
private async void DisplayNoWifiDialog()
{
ContentDialog noWifiDialog = new ContentDialog()
{
XamlRoot = this.XamlRoot,
Title = "No wifi connection",
Content = "Check connection and try again.",
CloseButtonText = "Ok"
};
await noWifiDialog.ShowAsync();
}
此示例演示如何在应用页面的 XAML 中创建 ContentDialog。 尽管对话框是在应用页中定义的,但在代码中调用 ShowAsync 之前,该对话框也不会显示。
在这里, IsPrimaryButtonEnabled 属性设置为 false
。 当用户检查 CheckBox 以确认其年龄时,主按钮在代码中启用。
TitleTemplate 属性用于创建同时包含徽标和文本的标题。
<ContentDialog x:Name="termsOfUseContentDialog"
PrimaryButtonText="Accept" IsPrimaryButtonEnabled="False"
CloseButtonText="Cancel"
Opened="TermsOfUseContentDialog_Opened">
<ContentDialog.TitleTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="ms-appx:///Assets/SmallLogo.png" Width="40" Height="40" Margin="10,0"/>
<TextBlock Text="Terms of use"/>
</StackPanel>
</DataTemplate>
</ContentDialog.TitleTemplate>
<StackPanel>
<TextBlock TextWrapping="WrapWholeWords">
<Run>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor
congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus
malesuada libero, sit amet commodo magna eros quis urna.</Run><LineBreak/>
<Run>Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.</Run><LineBreak/>
<Run>Pellentesque habitant morbi tristique senectus et netus et malesuada fames
ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.</Run><LineBreak/>
<Run>Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc.
Mauris eget neque at sem venenatis eleifend. Ut nonummy.</Run>
</TextBlock>
<CheckBox x:Name="ConfirmAgeCheckBox" Content="I am over 13 years of age."
Checked="ConfirmAgeCheckBox_Checked" Unchecked="ConfirmAgeCheckBox_Unchecked"/>
</StackPanel>
</ContentDialog>
private async void ShowTermsOfUseContentDialogButton_Click(object sender, RoutedEventArgs e)
{
termsOfUseContentDialog.XamlRoot = this.XamlRoot;
ContentDialogResult result = await termsOfUseContentDialog.ShowAsync();
if (result == ContentDialogResult.Primary)
{
// Terms of use were accepted.
}
else
{
// User pressed Cancel, ESC, or the back arrow.
// Terms of use were not accepted.
}
}
private void TermsOfUseContentDialog_Opened(ContentDialog sender, ContentDialogOpenedEventArgs args)
{
// Ensure that the check box is unchecked each time the dialog opens.
ConfirmAgeCheckBox.IsChecked = false;
}
private void ConfirmAgeCheckBox_Checked(object sender, RoutedEventArgs e)
{
termsOfUseContentDialog.IsPrimaryButtonEnabled = true;
}
private void ConfirmAgeCheckBox_Unchecked(object sender, RoutedEventArgs e)
{
termsOfUseContentDialog.IsPrimaryButtonEnabled = false;
}
此示例演示如何创建和使用更复杂的自定义对话框 (SignInContentDialog
派生自 ContentDialog 的) 。 另请参阅本文的 具有 WinUI 样式的派生控件 部分。
<ContentDialog
x:Class="ContentDialog_WinUI3.SignInContentDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ContentDialog_WinUI3"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="SIGN IN"
PrimaryButtonText="Sign In"
CloseButtonText="Cancel"
PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
CloseButtonClick="ContentDialog_CloseButtonClick">
<ContentDialog.Resources>
<Style TargetType="local:SignInContentDialog" BasedOn="{StaticResource DefaultContentDialogStyle}"/>
</ContentDialog.Resources>
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBox Name="userNameTextBox" Header="User name"
TextChanged="UserNameTextBox_TextChanged"/>
<PasswordBox Name="passwordTextBox" Header="Password" IsPasswordRevealButtonEnabled="True"
PasswordChanged="PasswordTextBox_PasswordChanged"/>
<CheckBox Name="saveUserNameCheckBox" Content="Save user name"/>
<InfoBar x:Name="errorInfoBar" Severity="Error" IsOpen="False" IsClosable="False"/>
<!-- Content body -->
<TextBlock Name="body" Style="{StaticResource BodyTextBlockStyle}" TextWrapping="Wrap">
<TextBlock.Text>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</TextBlock.Text>
</TextBlock>
</StackPanel>
</ContentDialog>
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using System.Threading.Tasks;
namespace ContentDialog_WinUI3
{
public enum SignInResult
{
SignInOK,
SignInFail,
SignInCancel,
Nothing
}
public sealed partial class SignInContentDialog : ContentDialog
{
public SignInResult Result { get; private set; }
public SignInContentDialog()
{
this.InitializeComponent();
this.Opened += SignInContentDialog_Opened;
this.Closing += SignInContentDialog_Closing;
}
private async void ContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
// Ensure the user name and password fields aren't empty. If a required
// field is empty, set args.Cancel = true to keep the dialog open.
if (string.IsNullOrEmpty(userNameTextBox.Text))
{
errorInfoBar.Message = "User name is required.";
errorInfoBar.IsOpen = true;
}
else if (string.IsNullOrEmpty(passwordTextBox.Password))
{
errorInfoBar.Message = "Password is required.";
errorInfoBar.IsOpen = true;
}
args.Cancel = errorInfoBar.IsOpen;
// If you're performing async operations in the button click handler,
// get a deferral before you await the operation. Then, complete the
// deferral when the async operation is complete.
if (args.Cancel == false)
{
ContentDialogButtonClickDeferral deferral = args.GetDeferral();
if (await SimulateAsyncSignInOperation())
{
this.Result = SignInResult.SignInOK;
}
else
{
this.Result = SignInResult.SignInFail;
}
deferral.Complete();
}
}
private async Task<bool> SimulateAsyncSignInOperation()
{
// return true to simulate sign-in success.
return true;
// return false to simulate sign-in failure.
/// return false;
}
private void ContentDialog_CloseButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
// User clicked Cancel, ESC, or the system back button.
this.Result = SignInResult.SignInCancel;
}
void SignInContentDialog_Opened(ContentDialog sender, ContentDialogOpenedEventArgs args)
{
this.Result = SignInResult.Nothing;
// If the user name is saved, get it and populate the user name field.
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
if (localSettings.Values.ContainsKey("userName"))
{
userNameTextBox.Text = localSettings.Values["userName"].ToString();
saveUserNameCheckBox.IsChecked = true;
}
}
void SignInContentDialog_Closing(ContentDialog sender, ContentDialogClosingEventArgs args)
{
// If sign in was successful, save or clear the user name based on the user choice.
if (this.Result == SignInResult.SignInOK)
{
if (saveUserNameCheckBox.IsChecked == true)
{
SaveUserName();
}
else
{
ClearUserName();
}
}
}
private void SaveUserName()
{
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["userName"] = userNameTextBox.Text;
}
private void ClearUserName()
{
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["userName"] = null;
userNameTextBox.Text = string.Empty;
}
private void UserNameTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
// Clear the error if the user name field isn't empty.
if (!string.IsNullOrEmpty(userNameTextBox.Text))
{
errorInfoBar.Message = string.Empty;
errorInfoBar.IsOpen = false;
}
}
private void PasswordTextBox_PasswordChanged(object sender, RoutedEventArgs e)
{
// Clear the error if the password field isn't empty.
if (!string.IsNullOrEmpty(passwordTextBox.Password))
{
errorInfoBar.Message = string.Empty;
errorInfoBar.IsOpen = false;
}
}
}
}
下面的代码显示 SignInContentDialog
并使用其自定义 SignInResult
。
private async void ShowSignInDialogButton_Click(object sender, RoutedEventArgs e)
{
SignInContentDialog signInDialog = new SignInContentDialog()
{
XamlRoot = rootPanel.XamlRoot
};
await signInDialog.ShowAsync();
if (signInDialog.Result == SignInResult.SignInOK)
{
// Sign in was successful.
}
else if (signInDialog.Result == SignInResult.SignInFail)
{
// Sign in failed.
}
else if (signInDialog.Result == SignInResult.SignInCancel)
{
// Sign in was cancelled by the user.
}
}
注解
提示
有关详细信息、设计指南和代码示例,请参阅 对话框控件。
使用 ContentDialog 请求用户输入,或在模式对话框中显示信息。 可以使用代码或 XAML 将 ContentDialog 添加到应用页面,也可以创建派生自 ContentDialog 的自定义对话类。 本主题的示例部分介绍了这两种方式。
标题
使用 Title 属性可在对话框中放置标题。 若要添加包含多个简单文本的复杂 title 元素,可以使用 TitleTemplate 属性。
命令按钮
ContentDialog 有 3 个内置按钮,用于描述用户为响应对话框提示而可能执行的操作。 所有对话都应具有安全、非破坏性的操作。 对话还可以选择包含一两个特定的“执行”操作,以响应提示。
使用 PrimaryButtonText 和 SecondaryButtonText 属性可显示对对话框提出的main问题或操作的响应。
使用 CloseButtonText 属性可设置安全、非破坏性按钮的显示文本。 当用户执行 “取消” 操作(如按 ESC 键或按系统后退按钮)时,也会调用对话框的关闭按钮。
可以选择三个按钮之一作为对话框的默认按钮。 使用 DefaultButton 属性来区分其中一个按钮。 此按钮将接收强调按钮视觉处理,自动响应 ENTER 键,并在打开对话框时接收焦点,除非对话框的内容包含可聚焦元素。
显示对话框并使用其结果
若要显示对话框,请调用 ShowAsync 方法。 使用此方法返回的 ContentDialogResult 确定单击了哪些按钮(如果有)。 如果用户按 ESC、系统后退箭头或游戏板 B,则此方法的结果将是 None
。
设置 XamlRoot
显示 ContentDialog 时,需要手动将对话框的 XamlRoot 设置为 XAML 主机的根目录。 为此,请将 ContentDialog 的 XamlRoot 属性设置为与 XAML 树中已有的元素相同的 XamlRoot。
如果从 Page 显示 ContentDialog,则可以将 ContentDialog 的 XamlRoot 属性设置为 Page ( XamlRoot = this.XamlRoot
) 的 XamlRoot。
Window 没有 XamlRoot 属性,因此,如果对话框是从 Window 显示的,请将对话框的 XamlRoot 属性设置为 Window 的根内容元素的 XamlRoot 属性,如下所示。
<Window
... >
<Grid x:Name="rootPanel">
</Grid>
</Window>
private async void DisplayNoWifiDialog()
{
ContentDialog noWifiDialog = new ContentDialog
{
XamlRoot = rootPanel.XamlRoot,
Title = "No wifi connection",
Content = "Check your connection and try again.",
CloseButtonText = "Ok"
};
ContentDialogResult result = await noWifiDialog.ShowAsync();
}
关闭对话框
您可能希望在对话框关闭之前执行一些工作 (例如,在提交请求之前验证用户是否已将数据输入表单字段) 。 在对话框关闭之前,有两种方法可以完成工作。 可以处理 PrimaryButtonClick、 SecondaryButtonClick 或 CloseButtonClick 事件,以在用户按下按钮时获取用户的响应,并在对话框关闭前验证对话框的状态。 还可以处理 Closing 事件以在对话框关闭之前执行工作。
一次只能显示一个 ContentDialog。 若要将多个 ContentDialog 链接在一起,请处理第一个 ContentDialog 的 Closing 事件。 在 Closing 事件处理程序中,对第二个对话框调用 ShowAsync 以显示它。
警告
每次只能在每个线程中打开一个 ContentDialog。 尝试打开两个 ContentDialog 将引发异常,即使它们尝试在单独的应用窗口中打开也是如此。
具有 WinUI 样式的派生控件
如果从现有 XAML 控件派生自定义控件,则默认情况下不会获取 WinUI 样式。 应用 WinUI 样式:
- 创建新的 Style,并将其 TargetType 设置为自定义控件。
- 使 Style 基于从其派生的控件的默认样式。
一种常见的情况是从 ContentDialog 派生新控件。 本示例演示如何创建将 DefaultContentDialogStyle
应用于自定义对话框的新 Style。
<ContentDialog
x:Class="ExampleApp.SignInContentDialog"
... >
<ContentDialog.Resources>
<Style TargetType="local:SignInContentDialog"
BasedOn="{StaticResource DefaultContentDialogStyle}"/>
</ContentDialog.Resources>
<!-- CONTENT -->
</ContentDialog>
控件样式和模板
可以修改默认 的 Style 和 ControlTemplate ,使控件具有唯一的外观。 有关修改控件的样式和模板的信息,请参阅 XAML 样式。 文件中包括 generic.xaml
定义控件外观的默认样式、模板和资源。 出于设计目的, generic.xaml
随 Windows 应用 SDK NuGet 包一起安装。 默认情况下,此位置是 \Users\<username>\.nuget\packages\microsoft.windowsappsdk\<version>\lib\uap10.0\Microsoft.UI\Themes\generic.xaml
。 不同版本的 SDK 中的样式和资源可能具有不同的值。
XAML 还包括可用于在不修改控件模板的情况下修改不同视觉状态中的控件颜色的资源。 修改这些资源是首选设置属性,如 Background 和 Foreground。 有关详细信息,请参阅 XAML 样式一文的轻量级样式部分。
构造函数
ContentDialog() |
初始化 ContentDialog 类的新实例。 |
属性
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) ,该 URI 表示 XAML 构造的对象在 XAML 加载时的基本 URI。 此属性可用于在运行时进行 URI 解析。 (继承自 FrameworkElement) |
BorderBrush |
获取或设置描述控件边框填充的画笔。 (继承自 Control) |
BorderThickness |
获取或设置控件的边框宽度。 (继承自 Control) |
CacheMode |
获取或设置一个值,该值指示呈现的内容应尽可能缓存为复合位图。 (继承自 UIElement) |
CanBeScrollAnchor |
获取或设置一个值,该值指示 UIElement 是否可以作为滚动定位的候选项。 (继承自 UIElement) |
CanDrag |
获取或设置一个值,该值指示是否可以在拖放操作中将元素作为数据拖动。 (继承自 UIElement) |
CenterPoint |
获取或设置元素的中心点,即发生旋转或缩放的点。 影响元素的呈现位置。 (继承自 UIElement) |
CharacterSpacing |
获取或设置字符之间的统一间距,单位为 1/1000 em。 (继承自 Control) |
Clip |
获取或设置用于定义 UIElement 内容的轮廓的 RectangleGeometry。 (继承自 UIElement) |
CloseButtonCommand |
获取或设置在点击关闭按钮时要调用的命令。 |
CloseButtonCommandParameter |
获取或设置要传递给关闭按钮命令的参数。 |
CloseButtonCommandParameterProperty |
获取 CloseButtonCommandParameter 依赖属性的标识符。 |
CloseButtonCommandProperty |
获取 CloseButtonCommand 依赖属性的标识符。 |
CloseButtonStyle |
获取或设置要应用于对话框的关闭按钮的样式。 |
CloseButtonStyleProperty |
获取 CloseButtonStyle 依赖属性的标识符。 |
CloseButtonText |
获取或设置要显示在关闭按钮上的文本。 |
CloseButtonTextProperty |
获取 CloseButtonText 依赖属性的标识符。 |
CompositeMode |
获取或设置一个属性,该属性为其父布局和窗口中的元素声明备用组合和混合模式。 这与混合 XAML/Microsoft DirectX UI 中涉及的元素相关。 (继承自 UIElement) |
Content |
获取或设置 ContentControl 的内容。 (继承自 ContentControl) |
ContentTemplate |
获取或设置用于显示 ContentControl 内容的数据模板。 (继承自 ContentControl) |
ContentTemplateRoot |
获取 ContentTemplate 属性指定的数据模板的根元素。 (继承自 ContentControl) |
ContentTemplateSelector |
获取或设置一个选择对象,该对象根据在运行时处理有关内容项或其容器的信息,将 DataTemplate 更改为适用于内容。 (继承自 ContentControl) |
ContentTransitions |
获取或设置应用于 ContentControl 内容的 Transition 样式元素的集合。 (继承自 ContentControl) |
ContextFlyout |
获取或设置与此元素关联的浮出控件。 (继承自 UIElement) |
CornerRadius |
获取或设置控件边框角的半径。 (继承自 Control) |
DataContext |
获取或设置 FrameworkElement 的数据上下文。 数据上下文的常见用途是,当 |
DefaultButton |
获取或设置一个值,该值指示对话上的哪个按钮是默认操作。 |
DefaultButtonProperty |
获取 DefaultButton 依赖属性的标识符。 |
DefaultStyleKey |
获取或设置引用控件的默认样式的键。 自定义控件的作者使用此属性更改其控件使用的样式的默认值。 (继承自 Control) |
DefaultStyleResourceUri |
获取或设置包含控件的默认样式的资源文件的路径。 (继承自 Control) |
DesiredSize |
获取此 UIElement 在布局过程的度量传递期间计算的大小。 (继承自 UIElement) |
Dispatcher |
始终在Windows 应用 SDK应用中返回 |
DispatcherQueue |
|
ElementSoundMode |
获取或设置一个值,该值指定控件是否播放声音的首选项。 (继承自 Control) |
ExitDisplayModeOnAccessKeyInvoked |
获取或设置一个值,该值指定在调用访问密钥时是否消除访问键显示。 (继承自 UIElement) |
FlowDirection |
获取或设置文本和其他 UI 元素在控制其布局的任何父元素中的流动方向。 此属性可以设置为 |
FocusState |
获取一个值,该值指定此控件是否具有焦点以及获取焦点的模式。 (继承自 UIElement) |
FocusVisualMargin |
获取或设置 FrameworkElement 的焦点视觉对象的外部边距。 (继承自 FrameworkElement) |
FocusVisualPrimaryBrush |
获取或设置用于为 FrameworkElement 绘制或 |
FocusVisualPrimaryThickness |
获取或设置 FrameworkElement 或 |
FocusVisualSecondaryBrush |
获取或设置用于为 FrameworkElement 绘制或 |
FocusVisualSecondaryThickness |
获取或设置 FrameworkElement 或 |
FontFamily |
获取或设置用于显示控件中的文本的字体。 (继承自 Control) |
FontSize |
获取或设置此控件中文本的大小。 (继承自 Control) |
FontStretch |
获取或设置字体在屏幕上紧缩或加宽的程度。 (继承自 Control) |
FontStyle |
获取或设置呈现文本的样式。 (继承自 Control) |
FontWeight |
获取或设置指定字体的粗细。 (继承自 Control) |
Foreground |
获取或设置一个用于描述前景色的画笔。 (继承自 Control) |
FullSizeDesired |
获取或设置一个值,该值指示是否正在发出显示对话框完整大小的请求。 |
FullSizeDesiredProperty |
获取 FullSizeDesired 依赖属性的标识符。 |
Height |
获取或设置 FrameworkElement 的建议高度。 (继承自 FrameworkElement) |
HighContrastAdjustment |
获取或设置一个值,该值指示在启用高对比度主题时框架是否自动调整元素的视觉属性。 (继承自 UIElement) |
HorizontalAlignment |
获取或设置在布局父级(如面板或项控件)中组合时应用于 FrameworkElement 的水平对齐特征。 (继承自 FrameworkElement) |
HorizontalContentAlignment |
获取或设置控件内容的水平对齐方式。 (继承自 Control) |
IsAccessKeyScope |
获取或设置一个值,该值指示元素是否定义其自己的访问键范围。 (继承自 UIElement) |
IsDoubleTapEnabled |
获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsEnabled |
获取或设置一个值,该值指示用户是否可以与控件交互。 (继承自 Control) |
IsFocusEngaged |
获取或设置一个值,该值指示当用户按下游戏控制器上的 A/选择按钮时,焦点是否受限于控件。 (继承自 Control) |
IsFocusEngagementEnabled |
获取或设置一个值,该值指示当用户按下游戏控制器上的 A/选择按钮时是否可以将焦点限制在控件上。 (继承自 Control) |
IsHitTestVisible |
获取或设置此 UIElement 的包含区域是否可以为命中测试返回 true 值。 (继承自 UIElement) |
IsHoldingEnabled |
获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。 (继承自 UIElement) |
IsLoaded |
获取一个值,该值指示元素是否已添加到元素树中并已准备好进行交互。 (继承自 FrameworkElement) |
IsPrimaryButtonEnabled |
获取或设置对话的主按钮是否已启用。 |
IsPrimaryButtonEnabledProperty |
获取 IsPrimaryButtonEnabled 依赖属性的标识符。 |
IsRightTapEnabled |
获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsSecondaryButtonEnabled |
获取或设置是否启用对话框的辅助按钮。 |
IsSecondaryButtonEnabledProperty |
获取 IsSecondaryButtonEnabled 依赖属性的标识符。 |
IsTabStop |
获取或设置一个值,该值指示是否将某个控件包含在 Tab 导航中。 (继承自 UIElement) |
IsTapEnabled |
获取或设置一个值,该值确定 Tapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsTextScaleFactorEnabled |
获取或设置是否启用自动文本放大,以反映系统文本大小设置。 (继承自 Control) |
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) |
PrimaryButtonCommand |
获取或设置在点击主按钮时要调用的命令。 |
PrimaryButtonCommandParameter |
获取或设置要传递给主按钮的 命令的参数。 |
PrimaryButtonCommandParameterProperty |
获取 PrimaryButtonCommandParameter 依赖属性的标识符。 |
PrimaryButtonCommandProperty |
获取 PrimaryButtonCommand 依赖属性的标识符。 |
PrimaryButtonStyle |
获取或设置要应用于对话的主按钮的样式。 |
PrimaryButtonStyleProperty |
获取 PrimaryButtonStyle 依赖属性的标识符。 |
PrimaryButtonText |
获取或设置要显示在主按钮上的文本。 |
PrimaryButtonTextProperty |
获取 PrimaryButtonText 依赖属性的标识符。 |
Projection |
获取或设置呈现此元素时要应用的透视投影 (三维效果) 。 (继承自 UIElement) |
ProtectedCursor |
获取或设置当指针位于此元素上时显示的光标。 默认为 null,表示游标没有更改。 (继承自 UIElement) |
RasterizationScale |
获取一个值,该值表示每个视图像素的原始 (物理) 像素数。 (继承自 UIElement) |
RenderSize |
获取 UIElement 的最终呈现大小。 不建议使用,请参阅备注。 (继承自 UIElement) |
RenderTransform |
获取或设置影响 UIElement 呈现位置的转换信息。 (继承自 UIElement) |
RenderTransformOrigin |
获取或设置 RenderTransform 声明的任何可能呈现转换相对于 UIElement 边界的原点。 (继承自 UIElement) |
RequestedTheme |
获取或设置 UIElement (使用的 UI 主题及其子元素) 用于资源确定。 使用 |
RequiresPointer |
获取或设置 UI 元素是否支持鼠标模式,该模式模拟与非指针输入设备(如键盘或游戏控制器)的指针交互体验。 (继承自 Control) |
Resources |
获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为属性元素的 |
Rotation |
获取或设置顺时针旋转的角度(以度为单位)。 相对于 RotationAxis 和 CenterPoint 旋转。 影响元素的呈现位置。 (继承自 UIElement) |
RotationAxis |
获取或设置旋转元素的轴。 (继承自 UIElement) |
RotationTransition |
获取或设置 ScalarTransition,该 ScalarTransition 对 Rotation 属性的更改进行动画处理。 (继承自 UIElement) |
Scale |
获取或设置 元素的刻度。 相对于元素的 CenterPoint 缩放。 影响元素的呈现位置。 (继承自 UIElement) |
ScaleTransition |
获取或设置 Vector3Transition,该 Vector3Transition 对 Scale 属性的更改进行动画处理。 (继承自 UIElement) |
SecondaryButtonCommand |
获取或设置在点击辅助按钮时要调用的命令。 |
SecondaryButtonCommandParameter |
获取或设置要传递给辅助按钮的 命令的参数。 |
SecondaryButtonCommandParameterProperty |
获取 SecondaryButtonCommandParameter 依赖属性的标识符。 |
SecondaryButtonCommandProperty |
获取 SecondaryButtonCommand 依赖属性的标识符。 |
SecondaryButtonStyle |
获取或设置要应用于对话框的辅助按钮的样式。 |
SecondaryButtonStyleProperty |
获取 SecondaryButtonStyle 依赖属性的标识符。 |
SecondaryButtonText |
获取或设置要显示在辅助按钮上的文本。 |
SecondaryButtonTextProperty |
获取 SecondaryButtonText 依赖属性的标识符。 |
Shadow |
获取或设置 由 元素投射的阴影效果。 (继承自 UIElement) |
Style |
获取或设置在布局和呈现期间为此对象应用的实例 Style 。 (继承自 FrameworkElement) |
TabFocusNavigation |
获取或设置一个值,该值修改 tabbing 和 TabIndex 对此控件的工作方式。 (继承自 UIElement) |
TabIndex |
获取或设置一个值,该值确定当用户使用 Tab 键浏览控件时元素接收焦点的顺序。 (继承自 UIElement) |
TabNavigation |
获取或设置一个值,该值修改 tabbing 和 UIElement.TabIndex 对此控件的工作方式。 注意 对于Windows 10 创意者更新 (内部版本 10.0.15063) 及更新版本,TabFocusNavigation 属性在 UIElement 基类上可用,以包括选项卡序列中不使用 ControlTemplate 的对象。 |
Tag |
获取或设置可用于存储有关此对象的自定义信息的任意对象值。 (继承自 FrameworkElement) |
Template |
获取或设置控件模板。 控件模板在 UI 中定义控件的视觉外观,并在 XAML 标记中定义。 (继承自 Control) |
Title |
获取或设置对话框的标题。 |
TitleProperty |
获取 Title 依赖属性的标识符。 |
TitleTemplate |
获取或设置标题模板。 |
TitleTemplateProperty |
获取 TitleTemplate 依赖属性的标识符。 |
Transform3D |
获取或设置呈现此元素时要应用的三维转换效果。 (继承自 UIElement) |
TransformMatrix |
获取或设置要应用于 元素的转换矩阵。 (继承自 UIElement) |
Transitions |
获取或设置应用于 UIElement 的 Transition 样式元素的集合。 (继承自 UIElement) |
Translation |
获取或设置元素的 x、y 和 z 呈现位置。 (继承自 UIElement) |
TranslationTransition |
获取或设置对 Translation 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
Triggers |
获取为 FrameworkElement 定义的动画触发器的集合。 不常用。 请参阅“备注”。 (继承自 FrameworkElement) |
UseLayoutRounding |
获取或设置一个值,该值确定对象及其可视子树的呈现是否应使用将呈现与整个像素对齐的舍入行为。 (继承自 UIElement) |
UseSystemFocusVisuals |
获取或设置一个值,该值指示控件是使用系统绘制的焦点视觉对象还是控件模板中定义的焦点视觉对象。 (继承自 UIElement) |
VerticalAlignment |
获取或设置在父对象(如面板或项控件)中组合时应用于 FrameworkElement 的垂直对齐特征。 (继承自 FrameworkElement) |
VerticalContentAlignment |
获取或设置控件内容的垂直对齐方式。 (继承自 Control) |
Visibility |
获取或设置 UIElement 的可见性。
|
Width |
获取或设置 FrameworkElement 的宽度。 (继承自 FrameworkElement) |
XamlRoot |
获取或设置 |
XYFocusDown |
获取或设置当用户按下游戏控制器的方向盘 (方向键) 时获得焦点的对象。 (继承自 UIElement) |
XYFocusDownNavigationStrategy |
获取或设置一个值,该值指定用于确定向下导航的目标元素的策略。 (继承自 UIElement) |
XYFocusKeyboardNavigation |
获取或设置一个值,该值使用键盘方向箭头启用或禁用导航。 (继承自 UIElement) |
XYFocusLeft |
获取或设置当用户在游戏控制器的方向键 (方向键) 左键时获得焦点的对象。 (继承自 UIElement) |
XYFocusLeftNavigationStrategy |
获取或设置一个值,该值指定用于确定左侧导航的目标元素的策略。 (继承自 UIElement) |
XYFocusRight |
获取或设置当用户在游戏控制器的方向盘 (方向键) 上按下时获得焦点的对象。 (继承自 UIElement) |
XYFocusRightNavigationStrategy |
获取或设置一个值,该值指定用于确定右导航目标元素的策略。 (继承自 UIElement) |
XYFocusUp |
获取或设置当用户按下游戏控制器的方向键 (方向键) 时获得焦点的对象。 (继承自 UIElement) |
XYFocusUpNavigationStrategy |
获取或设置一个值,该值指定用于确定向上导航目标元素的策略。 (继承自 UIElement) |
方法
事件
AccessKeyDisplayDismissed |
在不应再显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyDisplayRequested |
当用户请求显示访问密钥时发生。 (继承自 UIElement) |
AccessKeyInvoked |
当用户完成访问键序列时发生。 (继承自 UIElement) |
ActualThemeChanged |
在 ActualTheme 属性值更改时发生。 (继承自 FrameworkElement) |
BringIntoViewRequested |
在此元素或其后代之一上调用 StartBringIntoView 时发生。 (继承自 UIElement) |
CharacterReceived |
输入队列收到单个组合字符时发生。 (继承自 UIElement) |
CloseButtonClick |
在点击关闭按钮后发生。 |
Closed |
在对话框关闭后发生。 |
Closing |
在对话框开始关闭之后、关闭之前以及 关闭 事件之前发生。 |
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 |
当用户按下游戏控制器上的 B/后退按钮时,焦点从控件释放时发生。 (继承自 Control) |
FocusEngaged |
当用户按下游戏控制器上的 A/选择按钮时,焦点被限制在控件上时发生。 (继承自 Control) |
GettingFocus |
在 UIElement 接收焦点之前发生。 此事件是同步引发的,以确保在事件冒泡时不会移动焦点。 (继承自 UIElement) |
GotFocus |
在 UIElement 接收焦点时发生。 此事件以异步方式引发,因此焦点可以在冒泡完成之前再次移动。 (继承自 UIElement) |
Holding |
在此元素的命中测试区域上发生未处理的 保留 交互时发生。 (继承自 UIElement) |
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) |
Opened |
在打开对话框后发生。 |
PointerCanceled |
当进行接触的指针异常失去接触时发生。 (继承自 UIElement) |
PointerCaptureLost |
当此元素以前持有的指针捕获移动到另一个元素或其他位置时发生。 (继承自 UIElement) |
PointerEntered |
当指针进入此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerExited |
当指针离开此元素的命中测试区域时发生。 (继承自 UIElement) |
PointerMoved |
当指针保持在此元素的命中测试区域内时,指针移动时发生。 (继承自 UIElement) |
PointerPressed |
当指针设备在此元素中启动 “按下” 操作时发生。 (继承自 UIElement) |
PointerReleased |
在释放之前启动 Press 操作的指针设备时发生,而此元素中。 请注意, 不保证“按下 ”操作的结束会触发 |
PointerWheelChanged |
当指针滚轮的增量值更改时发生。 (继承自 UIElement) |
PreviewKeyDown |
在 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
PreviewKeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
PrimaryButtonClick |
在点击主按钮后发生。 |
ProcessKeyboardAccelerators |
按下 键盘快捷方式 (或快捷键) 时发生。 (继承自 UIElement) |
RightTapped |
当指针位于 元素上时发生右点击输入刺激时发生。 (继承自 UIElement) |
SecondaryButtonClick |
在点击辅助按钮后发生。 |
SizeChanged |
当 ActualHeight 或 ActualWidth 属性更改 FrameworkElement 上的值时发生。 (继承自 FrameworkElement) |
Tapped |
在此元素的命中测试区域上发生其他未经处理的 点击 交互时发生。 (继承自 UIElement) |
Unloaded |
当此对象不再连接到main对象树时发生。 (继承自 FrameworkElement) |