как отключить автоматическую вкладку после нажатия ввода и потери фокуса текстового поля - PullRequest
0 голосов
/ 11 января 2019

У меня есть обработчик события для keyDownEvent в TextBox. Теперь, когда я нажимаю Enter, этот обработчик событий меняет видимость на Collapsed, а TextBox скрывается. Проблема с этим заключается в том, что это явно не фокусирует TextBox и foucus sth. еще в моем приложении. Как я могу отключить этот автофокус другого элемента и ничего не фокусировать?

Я попробовал следующее, но я действительно облажался.

if (e->Key == Windows::System::VirtualKey::Enter) {
    this->mode = ITEM_MODE::SELECT; // will Change Visibility to Collapsed
    FocusManager::TryMoveFocus(FocusNavigationDirection::None);
    e->Handled = true;          
}

Спасибо за вашу помощь! <3 </p>

1 Ответ

0 голосов
/ 11 января 2019

как отключить автоматическую вкладку после нажатия клавиши ввода и потери фокуса текстового поля

Получено из официального документа,

UseSystemFocusVisuals используется для получения или установки значения, которое указывает, использует ли элемент управления визуальные эффекты фокуса, нарисованные системой, или те, которые определены в шаблоне элемента управления.

Вы можете установить свойство управления UseSystemFocusVisuals как False. Тогда следующий элемент управления не будет сфокусирован системой.

<StackPanel Orientation="Vertical" Name="RootLayout" IsTapEnabled="False" >
    <TextBox HorizontalAlignment="Stretch" Height="44" KeyDown="TextBox_KeyDown" />
    <Button Content="FouceElement" UseSystemFocusVisuals="False"/>
    <Button Content="NextBtn" UseSystemFocusVisuals="False"/>
</StackPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...