Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止选择日期后弹出关闭?_C#_Wpf_Xaml - Fatal编程技术网

C# 如何防止选择日期后弹出关闭?

C# 如何防止选择日期后弹出关闭?,c#,wpf,xaml,C#,Wpf,Xaml,我有一个弹出窗口,里面有一个Datepicker: <materialDesign:PopupBox StaysOpen="True"> <DatePicker Focusable="False"/> </materialDesign:PopupBox> 当我选择一个日期时,Datepicker将自动关闭,同时弹出窗口也将关闭。当我从弹出窗口内的日期选择器中选择日期时,如何防止弹出窗口关闭 正如您所见,我尝试将属性StaysOpen设置为t

我有一个弹出窗口,里面有一个
Datepicker

<materialDesign:PopupBox StaysOpen="True">  
     <DatePicker Focusable="False"/>
</materialDesign:PopupBox>

当我选择一个日期时,
Datepicker
将自动关闭,同时弹出窗口也将关闭。当我从弹出窗口内的日期选择器中选择日期时,如何防止弹出窗口关闭

正如您所见,我尝试将属性
StaysOpen
设置为true,但似乎不起作用,在这种情况下几乎不起作用。

如果我从日期选择器中取出
Focusable=“False”
,当我在日期选择器中选择日期时,弹出框将保持打开状态

<materialDesign:PopupBox StaysOpen="True">  
     <local:DatePicker2 />
</materialDesign:PopupBox>

好了,两个答案只需一个

我想测试一下,但是我从哪里获得materialDesign PopuBox?谷歌搜索了一下,名称中似乎有很多关于“材料设计”的东西。@EdPlunkett只是一个UI框架,你可以通过nuget或此处下载:嗯,这就是问题所在,但是有一种方法可以防止用户在里面写自定义日期?这就是我添加Focusable=false“嗯,这就是问题所在”的主要原因?不确定这意味着什么,但请参阅更新。
public class DatePicker2 : DatePicker 
{
    public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();

        if (GetTemplateChild("PART_TextBox") is TextBox textBox)
        {
            textBox.IsReadOnly = true;
        }
    }
}