已解决:我使用了 Calendaer_Closed Eevent insted,但为什么应用程序卡住了,我不知道
可能是因为它在更改的事件中处于某些操作的中间
当我从DatePicker
我尝试关闭菜单中选择一个日期时,我的应用程序会冻结。
这是我的代码:
<Window x:Class="WpfApplication9.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication9"
Title="MainWindow" Width="500" Height="500">
<Window.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter"/>
</Window.Resources>
<StackPanel>
<Menu Height="40" >
<MenuItem Header="First" x:Name="_menuItem">
<MenuItem Header="Date" StaysOpenOnClick="False">
<MenuItem StaysOpenOnClick="False" >
<MenuItem.Header>
<DatePicker SelectedDateChanged="DatePicker_SelectedDateChanged"/>
</MenuItem.Header>
</MenuItem>
</MenuItem>
</MenuItem>
</Menu>
<Button x:Name="btn" Content="click" />
</StackPanel>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void DatePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
_menuItem.IsSubmenuOpen = false;
}
}