首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UWP XAML在ContentDialog后面隐藏阴影

UWP(Universal Windows Platform)是微软推出的一种应用程序开发框架,旨在实现跨设备、跨平台的应用程序开发。XAML(eXtensible Application Markup Language)是一种用于定义用户界面的标记语言,用于创建 UWP 应用程序的界面。

ContentDialog 是 UWP 中的一个控件,用于显示自定义的对话框内容。在 ContentDialog 控件中,默认情况下会有一个阴影效果,用于突出对话框与其他内容的层次感。

如果想要隐藏 ContentDialog 后面的阴影效果,可以通过修改 ContentDialog 的样式来实现。具体步骤如下:

  1. 在 UWP 项目中,找到 App.xaml 文件,打开它。
  2. <Application.Resources> 标签内,添加一个新的 <ResourceDictionary> 标签。
  3. 在新的 <ResourceDictionary> 标签内,添加以下代码:
代码语言:txt
复制
<Style TargetType="ContentDialog">
    <Setter Property="Background" Value="Transparent"/>
    <Setter Property="BorderBrush" Value="Transparent"/>
    <Setter Property="RequestedTheme" Value="Light"/>
    <Setter Property="IsTabStop" Value="False"/>
    <Setter Property="TabNavigation" Value="Cycle"/>
    <Setter Property="FontFamily" Value="{ThemeResource ContentControlThemeFontFamily}"/>
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}"/>
    <Setter Property="MinWidth" Value="{ThemeResource ContentDialogMinWidth}"/>
    <Setter Property="MaxWidth" Value="{ThemeResource ContentDialogMaxWidth}"/>
    <Setter Property="MinHeight" Value="{ThemeResource ContentDialogMinHeight}"/>
    <Setter Property="MaxHeight" Value="{ThemeResource ContentDialogMaxHeight}"/>
    <Setter Property="HorizontalAlignment" Value="Center"/>
    <Setter Property="VerticalAlignment" Value="Top"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ContentDialog">
                <Border x:Name="Container" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Margin="{TemplateBinding Margin}" MaxWidth="{TemplateBinding MaxWidth}" MaxHeight="{TemplateBinding MaxHeight}" MinWidth="{TemplateBinding MinWidth}" MinHeight="{TemplateBinding MinHeight}" RenderTransformOrigin="0.5,0.5">
                    <Border.RenderTransform>
                        <ScaleTransform x:Name="RootScaleTransform"/>
                    </Border.RenderTransform>
                    <Grid x:Name="LayoutRoot" Background="{TemplateBinding Background}" Margin="0,0,0,0">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="*"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="*"/>
                        </Grid.ColumnDefinitions>
                        <ContentControl x:Name="Title" Content="{TemplateBinding Title}" ContentTemplate="{TemplateBinding TitleTemplate}" FontSize="20" FontWeight="SemiBold" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top"/>
                        <ContentPresenter x:Name="Content" AutomationProperties.AccessibilityView="Raw" ContentTemplate="{TemplateBinding ContentTemplate}" ContentTransitions="{TemplateBinding ContentTransitions}" Grid.Row="1" HorizontalAlignment="Stretch" Margin="0,20,0,0" VerticalAlignment="Top"/>
                        <Grid x:Name="CommandSpace" Grid.Row="2" HorizontalAlignment="Stretch" Margin="0,20,0,0" VerticalAlignment="Bottom">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto"/>
                                <ColumnDefinition Width="Auto"/>
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <ContentControl x:Name="SecondaryButton" AutomationProperties.AccessibilityView="Raw" Content="{TemplateBinding SecondaryButtonText}" FontSize="16" FontWeight="SemiBold" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" HorizontalAlignment="Right" IsTabStop="True" Margin="0,0,0,0" Padding="24,0,0,0" TabIndex="1" VerticalAlignment="Bottom"/>
                            <ContentControl x:Name="PrimaryButton" AutomationProperties.AccessibilityView="Raw" Content="{TemplateBinding PrimaryButtonText}" FontSize="16" FontWeight="SemiBold" Foreground="{ThemeResource SystemControlForegroundBaseHighBrush}" HorizontalAlignment="Right" IsTabStop="True" Margin="0,0,0,0" Padding="24,0,0,0" TabIndex="0" VerticalAlignment="Bottom"/>
                        </Grid>
                    </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
  1. 保存文件并重新编译运行项目,ContentDialog 后面的阴影效果将会被隐藏。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为示例,具体的产品选择应根据实际需求进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

UWP 开发中,需要知道的1000个问题

ListView 如果需要设置 WPF 的 ListView 宽度,可以使用HorizontalContentAlignment="Stretch" UWP 设置文本使用文字图标 UWP 很经常看到这样的图标...这就是 Segoe MDL2 icons ,可以使用下面不同的方式 xaml 使用 SymbolIcon 可以使用的 SymbolIcon 直接给名字,相对可读性比较好 <SymbolIcon Symbol...VisualStudio 告诉 Style object must specify a String value for the TargetType property 就是存在样式没有设置 TargetType ,UWP...透明背景 张高兴的 UWP 开发笔记:定制 ContentDialog 样式 - 张高兴 - 博客园 bind 的默认 mode {x:Bind} 的默认 Mode 是 OneTime。...1.1.0 UWP 工具类库的控件库 HappyStudio.UwpToolsLibrary 1.0.4 给UWP工具类库的其他模块使用的依赖类库 WinRT XAML Toolkit for Windows

1.5K20

应用退出时弹出确认提示框

需求 应用退出时(点击右上角的关闭按钮)弹出一个确认按钮可以说是一个最常见的操作了,例如记事本的“你是否保存”: ? 但这个功能在UWP上居然有点小复杂。这篇文章将解释如何实现这个功能。 2....Windows 10 Creators Update (15063)以后UWP提供了一个新的API:SystemNavigationManagerPreview.CloseRequested事件。...最好在App.xaml.cs中的Window.Current.Activate();前后订阅这个事件。...SystemNavigationCloseRequestedPreviewEventArgs还提供了GetDeferral函数,它返回一个Deferral对象,它可以异步操作中延迟UWP应用生命周期事件的执行...我们知道UWP的应用生命周期中,background 运行和suspended状态时应用基本处于暂停状态,也不会处理UI功能,这时候让它弹框?“除非你叫醒我,否则我罢工”。

3.8K10

UWP 开发中,需要知道的1000个问题

ListView 如果需要设置 WPF 的 ListView 宽度,可以使用HorizontalContentAlignment="Stretch" UWP 设置文本使用文字图标 UWP 很经常看到这样的图标...这就是 Segoe MDL2 icons ,可以使用下面不同的方式 xaml 使用 SymbolIcon 可以使用的 SymbolIcon 直接给名字,相对可读性比较好 <SymbolIcon Symbol...VisualStudio 告诉 Style object must specify a String value for the TargetType property 就是存在样式没有设置 TargetType ,UWP...UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息 ContentDialog 透明背景 张高兴的 UWP 开发笔记:定制 ContentDialog...1.1.0 UWP 工具类库的控件库 HappyStudio.UwpToolsLibrary 1.0.4 给UWP工具类库的其他模块使用的依赖类库 WinRT XAML Toolkit for Windows

2.2K20

New UWP Community Toolkit - DropShadowPanel

概述 UWP Community Toolkit  中有一个为 Frmework Element 提供投影效果的控件 - DropShadowPanel,本篇我们结合代码详细讲解  DropShadowPanel...DropShadowPanel 提供的阴影效果有很多应用场景,比如给文本提供阴影,可以让文本背景变化时可以明显显示,比如地图上的标尺文本;应用在图形或图片时,可以设置阴影效果,另外它有很多参数可以调整...,如阴影偏移,颜色,透明度和阴影模糊半径等,14393 开始支持,下面看看官方示例的截图: ?...- DropShadowPanel 控件部分类的依赖属性类 DropShadowPanel.cs - DropShadowPanel 控件部分类的定义和处理方法 DropShadowPanel.xaml...DropShadowPanel.xaml DropShadowPanel 控件的样式文件,我们来看 Template 部分:投影效果的实现,是使用一个 Border 放置实际内容控件的后面,通过 Border

94470

win10 uwp 入门

申请可以看:http://blog.csdn.net/lindexi_gd/article/details/50329121 之后我们可以官网下载vs,这个不需要多说,但是vs安装一般使用自定义,选择全平台.../zh-cn/windows/uwp/get-started/create-a-hello-world-app-xaml-universal 开发开始就是我们的控件,一般控件可以参见:http://blog.csdn.net...MessageDialog 和 ContentDialog,http://blog.csdn.net/lindexi_gd/article/details/50822507 在用到APPBarButton...UWP xaml 圆形头像 http://blog.csdn.net/lindexi_gd/article/details/49757187 win10 uwp App-to-app communication...我们开发会发现一些诡异的,或有些还是不懂,因为中文的书很少,但是我们可以看博客,我收很多人的博客,参见:http://blog.csdn.net/lindexi_gd/article/details/

1.1K10

【开源】XPShadow, 用阴影UWP更有层次感

UWP采用的是纯扁平化的设计,个人感觉极端了点,整个世界都是平的,导致App分不清层次,看不出重点。...做UWP应用的时候就想WinRT用的xaml和WPF差不多,WPF画阴影很轻松,WinRT应该也很方便吧,结果查了半天资料,硬是找不到解决方案。...先在photoshop里先做个阴影图 ? xaml里设置阴影图的NineGrid设置,做为对比,第一个图是没用NineGrid,第二个是用了。 ?...上面Xaml显示出来的结果: ? 没用九图的就很模糊,因为是整体放大,一样的300*300就显得小了好多,被阴影占了很大一部分,用九图的就很清晰。...还浪费不少时间阴影算法上。。 第三种:Win2D 基于第二种想法,用代码的方式应该是有办法的,后来找了下WinRT Direct2D的资料,可以通过Direct2D画出阴影,封装成库给App调用。

931100

win10 uwp ContentDialog 点确定不关闭

微软的ContentDialog不是一直有,而是UWP新的,可以使用Content放用户控件,使用很好,但是一点不好的是,默认的一点击下面按钮就会退出。...我们有时候需要ContentDialog用户输入,而用户没有输入我们想要的,给用户提示,不退出 那么要解决ContentDialog自动退出有两个方法: 第一个很简单,第二个更简单 简单的方法,做一个类继承...,取消e那里 这个简单,就不放代码。...其实可以我们的控件自己写按钮 那么有新的问题,自己写按钮,那么怎么退出,其实我们可以使用ContentDialog的Hide()方法,这个方法可以让ContentDialog退出,是默认关闭。...,如果输入和我们要的一样,Complete = true; SecondaryButtonClick就不需要判断Complete = true; 最后 while (!

28330

win10 uwp ContentDialog 点确定不关闭

微软的ContentDialog不是一直有,而是UWP新的,可以使用Content放用户控件,使用很好,但是一点不好的是,默认的一点击下面按钮就会退出。...我们有时候需要ContentDialog用户输入,而用户没有输入我们想要的,给用户提示,不退出 那么要解决ContentDialog自动退出有两个方法: 第一个很简单,第二个更简单 简单的方法,做一个类继承...,取消e那里 这个简单,就不放代码。...其实可以我们的控件自己写按钮 那么有新的问题,自己写按钮,那么怎么退出,其实我们可以使用ContentDialog的Hide()方法,这个方法可以让ContentDialog退出,是默认关闭。...,如果输入和我们要的一样,Complete = true; SecondaryButtonClick就不需要判断Complete = true; 最后 while (!

69920

创建一个进度按钮

传统上UWP上处理进度可以这样实现,首先是XAML,包括一个ProgressBar和一个按钮: ...; } } 点击按钮开始进度,隐藏按钮;进度完成后重新显示按钮。...但这样做XAML部分不能复用,同时管理Button和ProgressBar也比较复杂,空间有局限的地方也不能使用。 结果还是自己做了个ProgressButton来用。 2....WPF中阴影效果对性能影响很大,而且应用阴影效果的元素尺寸越大对性能的影响就越大。但Silverlight以后性能影响就变小了,我没测试过UWP的情况,应该不会比Silverlight差吧。...其它 由于UWP的元素基本是矢量元素,ProgressButton也得益于这个优点,狭窄空间也能表现得很好,配合StateChanged和StateChanging事件可以扩展更多的用法: ?

89730
领券