我已经在弹出控件内放置了一个日历控件和一个按钮控件。
我面临的问题:
问题是,在第一次单击时,弹出窗口会获得焦点,而在第二次单击时,事件触发。
代码
<Popup
x:Name="Popup"
Grid.Row="1"
AllowsTransparency="True"
Focusable="True"
IsOpen="False"
Placement="Bottom"
PlacementTarget="{Binding ElementName=Border}"
StaysOpen="False">
<Border>
<StackPanel>
<Calendar></Calendar>
<Button Click="Button_Click"></Button>
</StackPanel>
</Border>
</Popup>
处理SelectedDatesChanged
的Calendar
事件并调用Mouse.Capture(null)
:
private void Calendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
{
Mouse.Capture(null);
}