ContentDialog 模板

<ui:ContentDialog x:Class=".View.Dialog.XXXDialog"
                  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                  xmlns:ui="http://schemas.modernwpf.com/2019"
                  mc:Ignorable="d" >
    
</ui:ContentDialog>
public partial class XXXDialog : ContentDialog
{
    public XXXDialog()
    {
            InitializeComponent();

            PrimaryButtonClick += (_, _) =>
            {
                // Condition here cause "Enter" key will cross this
                if (IsPrimaryButtonEnabled)
                {
                    ;
                }
            };

            Closing += (_, args) =>
            {
                // If the PrimaryButton is disabled, block the "Enter" key
                if (args.Result == ContentDialogResult.Primary && !IsPrimaryButtonEnabled)
                {
                    args.Cancel = true;
                }
            };
    }
}

一个魔法
IsPrimaryButtonEnabled="{Binding ElementName=ApiKey, Path=Text.Length}"

一些基础属性
CloseButtonText="Close"
PrimaryButtonText="Save"
DefaultButton="Primary"

注意ContentDialog需要考虑键盘按键 ESC Enter 键的穿越性,需结合IsPrimaryButtonEnabled状态

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容