Я хочу поместить TextBox вместе с меткой и SymbolIcon в кнопку, чтобы все это можно было нажимать.в начале вы можете видеть только метку и символ.При нажатии на кнопку, метка скрывается и появляется текстовое поле, где вы можете ввести текст.При повторном нажатии метка снова появляется с новым введенным текстом, и текстовое поле исчезает.
Моя проблема в том, что при установке фокуса на текстовое поле кнопка (родитель) также, кажется, оказывается в фокусе, потому чтокаждый раз, когда вы нажимаете пробел, срабатывает событие нажатия кнопки.Я не хочу, чтобы это произошло, в то время как TextBox имеет фокус.
XAML
<Button Click="ToggleTopic"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Stretch">
<Grid>
<TextBlock x:Name="textBlockInfoTopic"
Text=""
HorizontalAlignment="Left"
Margin="100,0,100,0"/>
<TextBox x:Name="textBoxTopic"
PlaceholderText="enter Topic..."
HorizontalAlignment="Stretch"
Margin="100,0,100,0"
Visibility="Collapsed"/>
<SymbolIcon x:Name="symbolTopicButton"
Symbol="Add"
HorizontalAlignment="Right"/>
</Grid>
</Button>
C #
private void ToggleTopic(object sender, RoutedEventArgs e)
{
if (textBoxTopic.Visibility == Visibility.Visible)
{
//non edit mode
textBoxTopic.Visibility = Visibility.Collapsed;
textBlockInfoTopic.Visibility = Visibility.Visible;
symbolTopicButton.Symbol = Symbol.Add;
textBlockInfoTopic.Text = textBoxTopic.Text;
}
else
{
//edit mode
textBoxTopic.Visibility = Visibility.Visible;
textBoxTopic.Focus(FocusState.Programmatic);
textBlockInfoTopic.Visibility = Visibility.Collapsed;
symbolTopicButton.Symbol = Symbol.Go;
textBlockInfoTopic.Text = "";
}
}
Я только хочу предотвратить запуск события черезПРОБЕЛ.Клавиша возврата должна вызвать событие.
Спасибо за помощь!
D.