我不想在 DatePicker 中显示消息“选择日期”

2023-11-21

我不想在 DatePicker 的文本框中显示“选择日期”,但我想看到这样的内容//____ 或其他文本。

这是我的资源

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<Style x:Key="ABC" TargetType="DatePicker">
    <Setter Property="Foreground" Value="#FF333333" />
    <Setter Property="IsTodayHighlighted" Value="True" />
    <Setter Property="SelectedDateFormat" Value="Short" />
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="DisplayDateStart" Value=" 01/01/1990" />
    <Setter Property="DisplayDateEnd" Value="12/31/2090" />        
    <Setter Property="Padding" Value="2"/>
    <Setter Property="FontFamily" Value="Verdana" />
    <Setter Property="FontSize" Value="14" />

    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <Setter Property="HorizontalAlignment" Value ="Center" />
    <Setter Property="VerticalAlignment" Value= "Center" />

    <Setter Property = "Text" Value="{x:Null}" />
    <Setter Property = "SelectedDate" Value="{x:Null}" />

    <Style.Triggers>
        <Trigger Property ="IsMouseOver" Value="True">
            <Setter Property= "Background" Value="Coral"/>
        </Trigger>

        <Trigger Property="IsFocused" Value="True">
            <Setter Property= "Background" Value="LemonChiffon"/>
        </Trigger>

    </Style.Triggers>
</Style>


您可以修改默认模板DatePickerTextBox

要更改的是“PART_Watermark”内容控件。 DatePicker 的代码设置了该控件的 Content 属性,因此我们不能只更改 Content。相反,重写此控件的 ControlTemplate,并将其设为包含所需文本的 TextBlock。

<ContentControl x:Name="PART_Watermark"
                    Opacity="0"
                    Focusable="False"
                    IsHitTestVisible="False"
                    Padding="2">
    <ContentControl.Template>
        <ControlTemplate>
            <TextBlock Text="//____"/>
        </ControlTemplate>
    </ContentControl.Template>
</ContentControl>

整个事情是这样的:

<Style TargetType="{x:Type DatePickerTextBox}">
    <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
    <Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
    <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/>
    <Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="DatePickerTextBox">
                <Grid>
                    <Grid.Resources>
                        <SolidColorBrush x:Key="WatermarkBrush" Color="#FFAAAAAA"/>
                    </Grid.Resources>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup Name="CommonStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0" />
                                <VisualTransition To="MouseOver" GeneratedDuration="0:0:0.1" />
                            </VisualStateGroup.Transitions>
                            <VisualState Name="Normal" />
                            <VisualState Name="MouseOver">
                                <Storyboard>
                                    <ColorAnimation Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="#FF99C1E2" Duration="0"/>
                                    <ColorAnimation Storyboard.TargetName="watermark_decorator" Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)" To="#FF99C1E2" Duration="0"/>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup Name="WatermarkStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0" />
                            </VisualStateGroup.Transitions>
                            <VisualState Name="Unwatermarked" />
                            <VisualState Name="Watermarked">
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetName="ContentElement" Storyboard.TargetProperty="Opacity" To="0" Duration="0" />
                                    <DoubleAnimation Storyboard.TargetName="PART_Watermark" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup Name="FocusStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0" />
                            </VisualStateGroup.Transitions>
                            <VisualState Name="Unfocused" />
                            <VisualState Name="Focused">
                                <Storyboard>
                                    <DoubleAnimation Storyboard.TargetName="FocusVisual" Storyboard.TargetProperty="Opacity" To="1" Duration="0" />
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>


                    <Border x:Name="Border" 
                            Background="{TemplateBinding Background}" 
                            BorderBrush="{TemplateBinding BorderBrush}" 
                            BorderThickness="{TemplateBinding BorderThickness}"
                            Padding="{TemplateBinding Padding}"
                            CornerRadius="1" 
                            Opacity="1">
                        <Grid x:Name="WatermarkContent"
                              HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                              VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
                            <Border x:Name="ContentElement" BorderThickness="1">
                                <Border.BorderBrush>
                                    <SolidColorBrush Color="#FFFFFFFF"/>
                                </Border.BorderBrush>
                            </Border>
                            <Border x:Name="watermark_decorator" BorderThickness="1">
                                <Border.BorderBrush>
                                    <SolidColorBrush Color="#FFFFFFFF"/>
                                </Border.BorderBrush>
                                <ContentControl x:Name="PART_Watermark"
                                                    Opacity="0"
                                                    Focusable="False"
                                                    IsHitTestVisible="False"
                                                    Padding="2">
                                    <ContentControl.Template>
                                        <ControlTemplate>
                                            <TextBlock Text="//____"/>
                                        </ControlTemplate>
                                    </ContentControl.Template>
                                </ContentControl>
                            </Border>
                            <ScrollViewer x:Name="PART_ContentHost" 
                                          Margin="0"
                                          HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                          VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
                            <Border x:Name="FocusVisual" BorderBrush="#FF45D6FA" CornerRadius="1" Opacity="0" IsHitTestVisible="False"/>
                        </Grid>
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我不想在 DatePicker 中显示消息“选择日期” 的相关文章

  • 网格上的 SharedSizeScope 使表单“跳舞”

    我的页面上有一个 StackPanel 也尝试过使用 Grid
  • WPF - 将窗口置于前面

    我有一个 WPF 窗口 我没有关闭它 相反 我执行 Hide 和 Show 它 现在 当我双击记录上网格中的主窗口时 这将触发 Show 窗口 该窗口将始终显示在主窗口后面 我尝试过以下方法 但没有成功 view Show view Act
  • 为什么 System.AppDomain.CurrentDomain.BaseDirectory 返回不同的结果?

    我将数据库的路径 包含一些 xml 文件的文件夹 存储在 app config 中 在启动时 我检查路径是否存在 如果不存在 我想将路径设置为默认路径 代码如下所示 public void CheckAndRepairSettings Ch
  • 如何正确使用Dispatcher.BeginInvoke?

    我几乎在互联网上到处搜索 我用谷歌搜索了很多次并找到了很多结果 但我仍然找不到解决我的问题的方法 我正忙着改造旧的WinForms应用程序到新的 WPF 应用程序 但我在使用某些命令时遇到问题 在他们使用的 Winforms 应用程序中Co
  • Prism RegionAdapter - 删除然后添加视图

    我有一个包含 AvalonDock 的 prism wpf mef 解决方案 我创建了一个RegionAdapterBase
  • 如何循环访问 WPF StackPanel 静态项目?

    可能很容易 但我很难弄清楚这一点 谷歌似乎也没有多大帮助 如何循环遍历 StackPanel 的静态声明元素 无数据绑定 元素在 xaml 中声明 任何帮助表示赞赏 你的意思是StackPanel的孩子们 foreach var child
  • 如何从页面级别获取父框架?

    我有一个带有框架和几页的窗口 加载窗口时 框架导航到欢迎页面 当我单击欢迎页面内的按钮时 我希望父框架导航到另一个页面 为此 我需要从页面级别访问父框架 但我不知道如何执行此操作 我尝试了下面的代码 但它返回 null private vo
  • 我如何设计react-datepicker的样式?

    我在用着webpack 反应日期选择器并设法使用提供的 css 模块导入其 css import react datepicker dist react datepicker cssmodules css 该组件看起来不错 但现在我想让它像
  • MultiDataTrigger 使用 OR 而不是 AND

    我正在尝试设置多个DataTriggers on my Button 我做了一些研究发现MultiDataTrigger允许您执行此操作 我想要Visibility我的财产Button如果设置为 falseCCTVPath string E
  • 滚动 X 轴绘图区域 - Silverlight 柱系列

    我有一个工作正常的柱形系列图表 我有一个需要添加的功能 我希望水平滚动能够启用到 x 轴的绘图区域 这是屏幕截图 如果您看到屏幕截图 我有 6 个项目 并且由于项目数量较多 条形图非常细 所以假设如果我有 20 个项目 那么条形图将根本不可
  • 获取代码中的绑定结果

    我可能正在以错误的方式寻找这个 但是 有没有办法通过代码获取绑定的结果值 可能是一些显而易见的东西 但我就是找不到它 您只需致电ProvideValue的绑定方法 困难的部分是你需要通过有效的IServiceProvider到方法 编辑 实
  • 使用 INotifyPropertyChanged

    有人可以解释一下为什么在 wpf 中使用绑定时需要使用 INotifyPropertyChanged 的 实现吗 我可以在不实现此接口的情况下绑定属性吗 例如我有代码 public class StudentData INotifyProp
  • 无法使用 DialogResult

    我尝试使用DialogResult检查一个Messagebox s 是 否 取消 我正在使用以下代码 我没有看到任何问题 DialogResult dlgResult MessageBox Show Save changes before
  • WPF HierarchicalDataTemplate 不会在属性更改时更新 ItemsSource

    这是一些 XAML
  • 使 DataTemplate 可混合

    如何为 ViewModel 制作可混合的数据模板 可在表达式混合中设计 当我转到资源并尝试直接编辑数据模板时 我在绘图板上看到的只是一个空白矩形 这是因为 DataTemplate 没有绑定到任何东西 当然 我可以创建一个 UserCont
  • 更改鼠标悬停时的矩形背景

    所以我有一个没有背景的矩形 当用户将鼠标悬停在其上时 我想给它一个背景渐变 然后当鼠标离开矩形时删除渐变 请有人发布所需的代码 并告诉我将其放在 cs xaml 文件中的位置吗 Thanks This
  • ItemSource 中具有不同类型数据的 ListView 多行列标题

    继续this https stackoverflow com q 26712051 1997232问题 我想实现这种ListView 它应该有两件事 多行列标题 不同的数据类型通过绑定ItemsSource以不同方式显示 为了解决 1 我尝
  • Wpf TextBlock 中的垂直文本

    是否可以垂直显示 TextBlock 中的文本 以便所有字母彼此堆叠 不使用 LayoutTransform 旋转 还没有人提到使用纯 XAML 垂直堆叠任意字符串的字母 不旋转它们 的明显而简单的方法
  • 在 android DatePickerDialog 中将语言设置为法语

    有什么办法可以让日期显示在DatePickerDialog用法语 我已经搜索过这个但没有找到结果 这是我的代码 Calendar c Calendar getInstance picker new DatePickerDialog Paym
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表

随机推荐

  • iOS 5 NSURL连接到HTTPS服务器

    我已经搜索了几个小时有关NSURLConnection允许我用来连接到任何 HTTPS 服务器的委托 方法 即使我在这个网站上搜索 我也找到了答案 但这些答案对我不起作用 如果你们需要的话 我会上传代码链接 但我更喜欢一个简单的教程 示例代
  • 改变WPF按钮的形状而不改变其他样式

    我想将 WPF 按钮的形状从默认的圆角矩形更改为其他形状 例如箭头 但我想保留其余的样式 填充颜色 边框颜色 悬停状态等 希望按钮与所有其他常规按钮具有相同的样式 我相信这取决于 Windows 版本 系统主题颜色等 所以我不能从头开始重新
  • 当作为带有接口约束的泛型参数传递时,值类型是否被装箱?

    As a result of doing the research to answer this question I think I have determined that the answer is no However I had
  • 为什么十六进制颜色值中有一个前导“#FF”?

    我在用着表达混合3 并手动编写一些 XAML 特别是控件的颜色值 我有一个已转换为十六进制的 RGB 颜色列表 我只需要将十六进制值插入到我的 XAML 中 最初 我将电子邮件中的十六进制值粘贴到适当的属性中 在我完成之前 Blend 开始
  • 绑定到 Xamarin Forms 中的附加属性

    如何绑定到 Xamarin Forms XAML 中的附加属性 这不起作用 但它可以编译并且最有意义 BindingContext x Binding Source x Reference ControlName Path XMLNameS
  • Zend 框架清除缓存

    我正在使用此代码在 zend 框架中缓存数组 frontendOptions array lifetime gt 24 3600 7 cache lifetime of 7 day automatic serialization gt tr
  • 绘制对数分类网络度分布

    我经常遇到并从复杂网络中制作长尾度分布 直方图 如下图所示 从许多观察来看 它们使这些尾巴的末端很重 非常重和拥挤 然而 我读过的许多出版物都有更清晰的度分布 在分布末尾没有这种聚集 并且观察结果的间隔更均匀 如何使用以下方法制作这样的图表
  • Topshelf 窗口服务在尝试启动服务时出现错误 1053

    我使用 Topshelf 开发了一个 Windows 服务 它在本地运行良好 当我部署测试并尝试启动服务时 出现以下错误 Error 1053 The service did not respond to the start or cont
  • Bash:循环遍历名称中包含模式的变量

    在我的脚本中 我有未知数量的包含角度的变量 我想将它们转换为向量 我创建了变量名称 使每个 参数 的角度具有以下形式 参数 角度 纬度 纬度 因此 每个参数都有一个 lat 和 perp 角度变量 所以我想做的是找到包含 angle lat
  • 如何在C++中获取动态数组的大小[重复]

    这个问题在这里已经有答案了 通过输入大小并将其存储到 n 变量中来编写动态数组的代码 但我想从模板方法获取数组长度而不是使用 n int a NULL Pointer to int initialize to nothing int n S
  • ASP.Net:在 Page_Load 中调用异步方法

    我有一个 API 客户端 它有一个发送方法 用于将我的对象发布到 Web API 服务并返回 ReturnedResults 类型的对象 现在我需要在 ASP net page load 事件中运行此 post 方法 我在这里看到了类似的示
  • 保护图片下载

    我知道保护图像下载的最佳方法首先就是不要将其放在互联网上 我认为没有 100 的防止图像下载的保护 如果用户可以在互联网上看到图像 他可以通过一些经验找到下载它的权限 我知道透明 gif or png覆盖图像或使用background im
  • 为什么macos(x86)可以运行docker arm容器arm64v8/alpine?

    我碰巧发现我的macos x86 可以为arm镜像arm64v8 alpine运行docker容器 但有以下警告 docker run it arm64v8 alpine uname a WARNING The requested imag
  • JavaFX完全定制windows?

    我想要一个完全自定义窗口外观的应用程序 到目前为止 我已经了解到可以使用以下方法删除典型的窗口内容 class Application extends javafx application Application Starts the ap
  • 通过 Eclipse Kepler 启动 tomcat v7 时遇到问题

    我看到像我这样的问题以前已经发布过 其中一些帖子已得到解答 我已经尝试过修复 看起来确实应该有效 但我仍然遇到同样的问题 我正在尝试通过本地主机上的 apache tomcat 7 0 53 在 Eclipse Kepler Java EE
  • 两个子图的单个颜色条会更改其中一个子图的大小

    我正在尝试添加一个colorbar两个人matshow主要使用以下代码here and here 我的代码现在如下 但问题是颜色条调节了右侧绘图的大小 我怎样才能防止这种情况发生 import numpy as np import matp
  • 如何比较大文本文件?

    我有一个关于你对我的 技术 的看法的一般性问题 有 2 个文本文件 file 1 and file 2 需要相互比较 两者都非常巨大 3 4 GB 每个从 30 000 000 到 45 000 000 行 我的想法是阅读几行 尽可能多 f
  • 查询计算连续事件之间的平均时间

    我的问题是如何编写 SQL 查询来计算连续事件之间的平均时间 我有一张小桌子 event Name Time stage 1 10 01 stage 2 10 03 stage 3 10 06 stage 1 10 10 stage 2 1
  • 运行时在 Highcharts 图表中添加按钮

    我需要添加一些自定义按钮 带有 onclick 事件 而不覆盖导出按钮值 因为我想包含新按钮 而不会丢失图表中先前定义的自定义按钮 我的图表已经定义了自定义按钮 所有这些都在运行时进行 在使用此对象的 Highcharts 图表中 容器 h
  • 我不想在 DatePicker 中显示消息“选择日期”

    我不想在 DatePicker 的文本框中显示 选择日期 但我想看到这样的内容 或其他文本 这是我的资源