我使用下面的代碼片斷來定義Popup。Popup不關閉事件直接打開設置爲False
代碼片段[XAML]:
<Grid Margin="0,0,0,0" Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="19" />
<ColumnDefinition Width="19" />
</Grid.ColumnDefinitions>
<TextBlock HorizontalAlignment="Stretch"
Text="HeaderText"
FontWeight="Bold"
TextTrimming="CharacterEllipsis"
VerticalAlignment="Center"/>
<Grid Grid.Column="1">
<Button Width="19" x:Name="FilterButton" Click="FilterButton_OnClick" Content="^"/>
<Popup x:Name="FilterPanel" StaysOpen="False" >
<Border >
<Grid>
<TextBlock x:Name="tblTitle" Text="PopUp Header" Background="Red" Grid.Column="0" Grid.Row="0"/>
</Grid>
</Border>
</Popup>
</Grid>
<TextBox Text="Test" Grid.Column="2"/>
</Grid>
我使用下面的代碼片段來打開彈出
代碼片段[C#]:
private void FilterButton_OnClick(object sender, RoutedEventArgs e)
{
this.FilterPanel.IsOpen = true;
}
Scenorio:
使用按鈕單擊打開彈出窗口。
按Tab鍵。
焦點移動到文本框。
實際Behavvior:
彈出窗口不會關閉。
預期的行爲:
Popup應該關閉。
爲了您的參考,我附上了一個簡單的樣本。請您仔細閱讀本文,並提供指導來歸檔我的要求。提前致謝。
難道你只是手動關閉彈出文本框gaines重點? – Vale
謝謝您的回覆,我無法正確獲得彈出框的丟失焦點或Tetbox的焦點。 – Raja
嘗試TextBox上的GotKeyboardFocus事件。 – Vale