ContentDialog 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示可以自定义为包含复选框、超链接、按钮和任何其他 XAML 内容的对话框。
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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(Windows.Foundation.UniversalApiContract), 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
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)
|
示例
此示例演示如何在代码中创建和显示简单的 ContentDialog。
private async void DisplayNoWifiDialog()
{
ContentDialog noWifiDialog = new ContentDialog()
{
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)
{
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;
}
此示例演示如何创建和使用派生自 ContentDialog 的自定义对话框 (SignInContentDialog
) 。 如果使用 WinUI 2.2 或更高版本,另请参阅 具有 WinUI 样式的派生控件。
<!-- SignInContentDialog.xaml -->
<ContentDialog
x:Class="ExampleApp.SignInContentDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:ExampleApp"
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>
<!-- Uncomment this Style if using WinUI 2.2 or later. -->
<!-- <Style TargetType="local:SignInContentDialog" BasedOn="{StaticResource DefaultContentDialogStyle}"/> -->
<!-- These flyouts or used for confirmation when the user changes
the option to save their user name. -->
<Flyout x:Key="DiscardNameFlyout" Closed="Flyout_Closed">
<StackPanel>
<TextBlock Text="Discard user name?"/>
<Button Content="Discard" Click="DiscardButton_Click"/>
</StackPanel>
</Flyout>
<Flyout x:Key="SaveNameFlyout" Closed="Flyout_Closed">
<StackPanel>
<TextBlock Text="Save user name?"/>
<Button Content="Save" Click="SaveButton_Click"/>
</StackPanel>
</Flyout>
</ContentDialog.Resources>
<StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<TextBox Name="userNameTextBox" Header="User name"/>
<PasswordBox Name="passwordTextBox" Header="Password" IsPasswordRevealButtonEnabled="True"/>
<CheckBox Name="saveUserNameCheckBox" Content="Save user name"/>
<TextBlock x:Name="errorTextBlock" Style="{StaticResource ControlContextualInfoTextBlockStyle}"/>
<!-- Content body -->
<TextBlock Name="body" Style="{StaticResource MessageDialogContentStyle}" 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>
// SignInContentDialog.xaml.cs
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
namespace ExampleApp
{
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 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))
{
args.Cancel = true;
errorTextBlock.Text = "User name is required.";
}
else if (string.IsNullOrEmpty(passwordTextBox.Password))
{
args.Cancel = true;
errorTextBlock.Text = "Password is required.";
}
// 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.
ContentDialogButtonClickDeferral deferral = args.GetDeferral();
if (await SomeAsyncSignInOperation())
{
this.Result = SignInResult.SignInOK;
}
else
{
this.Result = SignInResult.SignInFail;
}
deferral.Complete();
}
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 roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
if (roamingSettings.Values.ContainsKey("userName"))
{
userNameTextBox.Text = roamingSettings.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();
}
}
// If the user entered a name and checked or cleared the 'save user name' checkbox, then clicked the back arrow,
// confirm if it was their intention to save or clear the user name without signing in.
if (this.Result == SignInResult.Nothing && !string.IsNullOrEmpty(userNameTextBox.Text))
{
if (saveUserNameCheckBox.IsChecked == false)
{
args.Cancel = true;
FlyoutBase.SetAttachedFlyout(this, (FlyoutBase)this.Resources["DiscardNameFlyout"]);
FlyoutBase.ShowAttachedFlyout(this);
}
else if (saveUserNameCheckBox.IsChecked == true && !string.IsNullOrEmpty(userNameTextBox.Text))
{
args.Cancel = true;
FlyoutBase.SetAttachedFlyout(this, (FlyoutBase)this.Resources["SaveNameFlyout"]);
FlyoutBase.ShowAttachedFlyout(this);
}
}
}
private void SaveUserName()
{
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
roamingSettings.Values["userName"] = userNameTextBox.Text;
}
private void ClearUserName()
{
Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
roamingSettings.Values["userName"] = null;
userNameTextBox.Text = string.Empty;
}
// Handle the button clicks from the flyouts.
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
SaveUserName();
FlyoutBase.GetAttachedFlyout(this).Hide();
}
private void DiscardButton_Click(object sender, RoutedEventArgs e)
{
ClearUserName();
FlyoutBase.GetAttachedFlyout(this).Hide();
}
// When the flyout closes, hide the sign in dialog, too.
private void Flyout_Closed(object sender, object e)
{
this.Hide();
}
}
}
下面的代码显示 SignInContentDialog
并使用其自定义 SignInResult
。
private async void ShowSignInDialogButton_Click(object sender, RoutedEventArgs e)
{
SignInContentDialog signInDialog = new SignInContentDialog();
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 个内置按钮,用于描述用户为响应对话框的提示而可能执行的操作。 所有对话都应具有安全、非破坏性的操作。 对话框还可以选择包含一个或两个特定的“执行”操作,以响应提示。
使用 CloseButtonText 和 属性设置安全、非破坏性按钮的显示文本。 当用户执行“取消”操作(如按 ESC 键或按系统后退按钮)时,也会调用对话框的关闭按钮。 使用 PrimaryButtonText 和 SecondaryButtonText 属性可显示对对话框提出的main问题或操作的响应。
在 Windows 10 版本 1703 之前,CloseButtonText 属性不可用。 如果 Microsoft Visual Studio 中应用的“最低平台版本”设置小于本页稍后的“要求”块中显示的“引入版本”,则应改用 SecondaryButtonText 属性。 有关详细信息,请参阅 版本自适应代码。
若要显示对话框,请调用 ShowAsync 方法。 如果单击了任何按钮,请使用此方法的结果来确定单击了哪些按钮。 如果用户按 ESC、系统后退箭头或游戏板 B,此方法的结果将为 None。
可以选择三个按钮之一作为对话框的默认按钮。 使用 DefaultButton 属性来区分其中一个按钮。 此按钮将接收着色按钮视觉处理,自动响应 ENTER 键,并在打开对话框时接收焦点,除非对话框的内容包含可聚焦元素。
您可能希望在对话框关闭之前执行一些工作 (例如,验证用户在提交请求之前是否输入了表单字段) 。 在对话框关闭之前,有两种方法可以完成工作。 可以处理 PrimaryButtonClick、 SecondaryButtonClick 或 CloseButtonClick 事件,以在用户按下按钮时获取用户的响应,并在对话框关闭前验证对话框的状态。 还可以处理 Closing 事件以在对话框关闭之前执行工作。
一次只能显示一个 ContentDialog。 若要将多个 ContentDialog 链接在一起,请处理第一个 ContentDialog 的 Closing 事件。 在 Closing 事件处理程序中,对第二个对话框调用 ShowAsync 以显示它。
具有 WinUI 样式的派生控件
注意:本部分仅适用于使用 WinUI 2.2 或更高版本的应用。
Windows UI 库 2.2 或更高版本包含此控件的新模板,该模板使用更新的样式。 如果从现有 XAML 控件派生自定义控件,默认情况下它不会获得 WinUI 2 样式。 若要应用 WinUI 2 样式,请执行以下操作:
- 创建新的 Style,并将其 TargetType 设置为自定义控件。
- 使 Style 基于从其派生的控件的默认样式。
一种常见的情况是从 ContentDialog 派生新控件。 本示例演示如何创建将 DefaultContentDialogStyle
应用于自定义对话框的新 Style。
<ContentDialog
x:Class="ExampleApp.SignInContentDialog"
... >
<ContentDialog.Resources>
<Style TargetType="local:SignInContentDialog" BasedOn="{StaticResource DefaultContentDialogStyle}"/>
...
</ContentDialog.Resources>
<!-- CONTENT -->
</ContentDialog>
AppWindow 或 Xaml 岛中的 ContentDialog
注意:本部分仅适用于面向 Windows 10 版本 1903 或更高版本的应用。 AppWindow 和 XAML 岛在早期的版本中不可用。 有关版本的详细信息,请参阅版本自适应应用。
默认情况下,内容对话框相对于根 ApplicationView 按模式显示。 使用 AppWindow 或 XAML 岛中的 ContentDialog 时,需要手动将对话框中的 XamlRoot 设置为 XAML 宿主的根。
为此,请将 ContentDialog 的 XamlRoot 属性设置为 AppWindow 或 XAML 岛中已包含的某个元素的同一 XamlRoot,如下所示。
private async void DisplayNoWifiDialog()
{
ContentDialog noWifiDialog = new ContentDialog
{
Title = "No wifi connection",
Content = "Check your connection and try again.",
CloseButtonText = "Ok"
};
// Use this code to associate the dialog to the appropriate AppWindow by setting
// the dialog's XamlRoot to the same XamlRoot as an element that is already present in the AppWindow.
if (ApiInformation.IsApiContractPresent("Windows.Foundation.UniversalApiContract", 8))
{
noWifiDialog.XamlRoot = elementAlreadyInMyAppWindow.XamlRoot;
}
ContentDialogResult result = await noWifiDialog.ShowAsync();
}
警告
每次只能在每个线程中打开一个 ContentDialog。 尝试打开两个 ContentDialog 会引发异常,即使尝试在独立的 AppWindow 中打开。
控件样式和模板
可以修改默认 的 Style 和 ControlTemplate ,使控件具有唯一的外观。 有关修改控件样式和模板的信息,请参阅 设置控件样式。 文件中包括 generic.xaml
定义控件外观的默认样式、模板和资源。 出于设计目的, generic.xaml
通过 SDK 或 NuGet 包安装在本地提供。
-
建议) (WinUI 样式 : 有关 WinUI 中更新的样式,请参阅
\Users\<username>\.nuget\packages\microsoft.ui.xaml\<version>\lib\uap10.0\Microsoft.UI.Xaml\Themes\generic.xaml
。 -
非 WinUI 样式: 有关内置样式,请参阅
%ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\<SDK version>\Generic\generic.xaml
。
如果自定义安装,位置可能会有所不同。 不同版本的 SDK 中的样式和资源可能具有不同的值。
XAML 还包括可用于在不修改控件模板的情况下修改不同视觉状态中的控件颜色的资源。 修改这些资源是首选设置属性,如 Background 和 Foreground。 有关详细信息,请参阅 XAML 样式一文的轻量级样式部分。 从 Windows 10 版本 1607 (SDK 14393) 开始提供轻型样式资源。
版本历史记录
Windows 版本 | SDK 版本 | 增值 |
---|---|---|
1703 | 15063 | CloseButtonClick |
1703 | 15063 | CloseButtonCommand |
1703 | 15063 | CloseButtonCommandParameter |
1703 | 15063 | CloseButtonStyle |
1703 | 15063 | CloseButtonText |
1703 | 15063 | DefaultButton |
1703 | 15063 | PrimaryButtonStyle |
1703 | 15063 | SecondaryButtonStyle |
1709 | 16299 | ShowAsync (ContentDialogPlacement) |
构造函数
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) ,表示 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 的数据上下文。 数据上下文的常见用途是 FrameworkElement 使用 {Binding} 标记扩展并参与数据绑定。 (继承自 FrameworkElement) |
DefaultButton |
获取或设置一个值,该值指示对话上的哪个按钮是默认操作。 |
DefaultButtonProperty |
获取 DefaultButton 依赖属性的标识符。 |
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) |
FullSizeDesired |
获取或设置一个值,该值指示是否发出请求以全屏显示对话框。 |
FullSizeDesiredProperty |
获取 FullSizeDesired 依赖属性的标识符。 |
Height |
获取或设置 FrameworkElement 的建议高度。 (继承自 FrameworkElement) |
HighContrastAdjustment |
获取或设置一个值,该值指示框架是否在启用高对比度主题时自动调整元素的视觉属性。 (继承自 UIElement) |
HorizontalAlignment |
获取或设置在布局父级(如面板或项控件)中组合时应用于 FrameworkElement 的水平对齐特征。 (继承自 FrameworkElement) |
HorizontalContentAlignment |
获取或设置控件内容的水平对齐方式。 (继承自 Control) |
IsAccessKeyScope |
获取或设置一个值,该值指示元素是否定义其自己的访问键范围。 (继承自 UIElement) |
IsDoubleTapEnabled |
获取或设置一个值,该值确定 DoubleTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsEnabled |
获取或设置一个值,该值指示用户是否可以与控件交互。 (继承自 Control) |
IsFocusEngaged |
获取或设置一个值,该值指示焦点是否受限于游戏板/远程交互) 的控制边界 (。 (继承自 Control) |
IsFocusEngagementEnabled |
获取或设置一个值,该值指示是否可以在游戏板/远程交互) (控制边界内限制焦点。 (继承自 Control) |
IsHitTestVisible |
获取或设置此 UIElement 的包含区域是否可以为命中测试返回 true 值。 (继承自 UIElement) |
IsHoldingEnabled |
获取或设置一个值,该值确定 Holding 事件是否可以源自该元素。 (继承自 UIElement) |
IsLoaded |
获取一个值,该值指示是否已将元素添加到元素树中并准备好进行交互。 (继承自 FrameworkElement) |
IsPrimaryButtonEnabled |
获取或设置对话的主按钮是否已启用。 |
IsPrimaryButtonEnabledProperty |
获取 IsPrimaryButtonEnabled 依赖属性的标识符。 |
IsRightTapEnabled |
获取或设置一个值,该值确定 RightTapped 事件是否可以源自该元素。 (继承自 UIElement) |
IsSecondaryButtonEnabled |
获取或设置是否启用对话框的辅助按钮。 |
IsSecondaryButtonEnabledProperty |
获取 IsSecondaryButtonEnabled 依赖属性的标识符。 |
IsTabStop |
获取或设置一个值,该值指示是否将某个控件包含在 Tab 导航中。 (继承自 Control) |
IsTapEnabled |
获取或设置一个值,该值确定 点击 事件是否可以源自该元素。 (继承自 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) |
RenderSize |
获取 UIElement 的最终呈现大小。 不建议使用 ,请参阅备注。 (继承自 UIElement) |
RenderTransform |
获取或设置影响 UIElement 呈现位置的转换信息。 (继承自 UIElement) |
RenderTransformOrigin |
获取或设置 RenderTransform 声明的任何可能的呈现转换相对于 UIElement 边界的原点。 (继承自 UIElement) |
RequestedTheme |
获取或设置 UIElement (使用的 UI 主题及其子元素) 用于资源确定。 使用 RequestedTheme 指定的 UI 主题可以替代应用级 RequestedTheme。 (继承自 FrameworkElement) |
RequiresPointer |
获取或设置 UI 元素是否支持鼠标模式,该模式模拟非指针输入设备(如游戏板或遥控器)的指针交互体验。 (继承自 Control) |
Resources |
获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为属性元素的 |
Rotation |
获取或设置顺时针旋转的角度(以度为单位)。 相对于 RotationAxis 和 CenterPoint 旋转。 影响元素的呈现位置。 (继承自 UIElement) |
RotationAxis |
获取或设置要围绕元素旋转的轴。 (继承自 UIElement) |
RotationTransition |
获取或设置对 Rotation 属性的更改进行动画处理的 ScalarTransition。 (继承自 UIElement) |
Scale |
获取或设置元素的刻度。 相对于元素的 CenterPoint 缩放。 影响元素的呈现位置。 (继承自 UIElement) |
ScaleTransition |
获取或设置对 Scale 属性的更改进行动画处理的 Vector3Transition。 (继承自 UIElement) |
SecondaryButtonCommand |
获取或设置在点击辅助按钮时要调用的命令。 |
SecondaryButtonCommandParameter |
获取或设置要传递给辅助按钮的 命令的参数。 |
SecondaryButtonCommandParameterProperty |
获取 SecondaryButtonCommandParameter 依赖属性的标识符。 |
SecondaryButtonCommandProperty |
获取 SecondaryButtonCommand 依赖属性的标识符。 |
SecondaryButtonStyle |
获取或设置要应用于对话框的辅助按钮的 样式 。 |
SecondaryButtonStyleProperty |
获取 SecondaryButtonStyle 依赖属性的标识符。 |
SecondaryButtonText |
获取或设置要显示在辅助按钮上的文本。 |
SecondaryButtonTextProperty |
获取 SecondaryButtonText 依赖属性的标识符。 |
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) |
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) |
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) |
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 |
当焦点从游戏板/远程交互) 的控制边界 (释放时发生。 (继承自 Control) |
FocusEngaged |
当焦点限制在游戏板/远程交互) 的控制边界 (时发生。 (继承自 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 |
当指针设备在此元素中启动 Press 操作时发生。 (继承自 UIElement) |
PointerReleased |
在释放之前启动 按下 操作的指针设备时发生,同时在此元素中。 请注意, 不保证按下 操作的结尾会触发 PointerReleased 事件;可能会触发其他事件。 有关详细信息,请参阅备注。 (继承自 UIElement) |
PointerWheelChanged |
在指针滚轮的增量值更改时发生。 (继承自 UIElement) |
PreviewKeyDown |
当 UIElement 具有焦点时按下键盘键时发生。 (继承自 UIElement) |
PreviewKeyUp |
在 UIElement 具有焦点时释放键盘键时发生。 (继承自 UIElement) |
PrimaryButtonClick |
在点击主按钮后发生。 |
ProcessKeyboardAccelerators |
按下 键盘快捷方式 (或快捷键) 时发生。 (继承自 UIElement) |
RightTapped |
当指针位于 元素上时发生右点击输入刺激时发生。 (继承自 UIElement) |
SecondaryButtonClick |
在点击辅助按钮后发生。 |
SizeChanged |
当 ActualHeight 或 ActualWidth 属性更改 FrameworkElement 上的值时发生。 (继承自 FrameworkElement) |
Tapped |
在此元素的命中测试区域上发生未经处理的 点击 交互时发生。 (继承自 UIElement) |
Unloaded |
当此对象不再连接到main对象树时发生。 (继承自 FrameworkElement) |