当前位置: 首页 > 知识库问答 >
问题:

如何将datepicker的日历可见性设置为隐藏wpf

丁长卿
2023-03-14
 <DatePicker x:Name="MyDatePicker" Margin="0,0,305,28" 
  CalendarStyle="{StaticResource CalendarName}">
 </DatePicker> 
<Window x:Class="calendarHideTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <!--Here i kept the style of DatePicker written at link https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/calendar-styles-and-templates-->                
    </Window.Resources>
    <StackPanel>
        <DatePicker x:Name="MyDatePicker" 
                    Margin="0,0,305,28" 
                    CalendarStyle="{StaticResource CalendarName}">
        </DatePicker>
    </StackPanel>
</Window>

共有1个答案

况浩邈
2023-03-14

如果我没有理解你的话,你可以用这个方法。

<DatePicker x:Name="datePicker" Width="100" Height="50" MouseEnter="DatePicker_OnMouseEnter" MouseLeave="DatePicker_OnMouseLeave" Loaded="DatePicker_OnLoaded"/>

和后面的代码。

...
    private void DatePicker_OnMouseEnter(object sender, MouseEventArgs e)
    {
        ChangeCalendarButtonVisibility(Visibility.Visible);
    }

    private void DatePicker_OnMouseLeave(object sender, MouseEventArgs e)
    {
        ChangeCalendarButtonVisibility(Visibility.Collapsed);
    }

    private void DatePicker_OnLoaded(object sender, RoutedEventArgs e)
    {
        //We use loaded event to hide button in initial state
        ChangeCalendarButtonVisibility(Visibility.Collapsed);
    }

    private Button GetCalendarButton()
    {
        var template = datePicker.Template;
        var button = (Button)template.FindName("PART_Button", datePicker);
        return button;
    }

    private void ChangeCalendarButtonVisibility(Visibility visibility)
    {
        var button = GetCalendarButton();
        if (button != null)
        {
            button.Visibility = visibility;
        }
    }
...

您甚至不需要在控件资源中存储datepicker样式。

 类似资料:
  • 问题内容: 在jQuery中,有和方法设置CSS 设置。 是否有可以设置设置的等效功能? 我知道我可以使用,但是我喜欢某些类似的功能。谢谢。 问题答案: 您可以制作自己的插件。 如果您想重载原始的jQuery ,我不建议…

  • 我有一个区域有很多对象,包括按钮等,可以点击。 动画不透明度工作很好,但我发现不可见的按钮仍然在画布的堆栈中,因此仍然可以点击。我想运行一个不透明动画,然后将项目设置为可见性隐藏,一旦它完成...这是可能的吗? 我的尝试产生了一个淡出的动画,但在淡出动画可以运行之前突然从页面上掉下来。 我基本上是在尽量避免画布上其他元素的干扰,但仍然保持在那里。 我得到了错误的行为,在项目消失之前,完全淡出,或者

  • 我有一个DatePicker,如下所示: 有没有一种不显示日子的方式?(仅限月份和年份) 如果是通过编程,有没有一个简单的例子如何做? 多谢了。

  • 我有一个简单的html表: PHP端的变量将向表单元格提供信息。 问题:是否可以隐藏具有空变量的表行,而只显示具有非空变量的行? 现在的问题:行是空的显示边框和样式,如果它是空的没有信息,它看起来很糟糕,我想隐藏那些不包含任何信息的行。

  • 是否可以更改默认html5日期选择器的日历弹出窗口的样式? 我想将当月的导航按钮移动到日历下方,并更改字体样式、大小、颜色等。我知道您可以从stackoverflow线程更改输入框(HTML5日期选择器是否有任何样式选项?),但我想更改日历本身的样式。有没有简单的方法可以做到这一点?

  • 我在数据库中存储了日期。我可以成功地获取日期。但是当涉及到将任何特定的日期设置为Report-datepicker的DatePicker时,我无法设置该日期。 下面是我用来获取日期和设置带有日期值的状态的代码。 函数,用于使用MomentJs转换日期 在获得日期之后,现在我尝试将日期设置为datepicker,并尝试设置参数。以下是代码: 我哪里出错了?有没有其他方法设置日期到DateTimePi