Почему TextChanged срабатывает, когда RichEditBox фокусируется?

1

У меня есть RichEditBox в приложении С# Windows Runtime. Я установил для Boolean флаг IsFileUpToDate значение false в TextChanged следующим образом:

private void OnTextChanged(object sender, RoutedEventArgs e)
{
    if (IsFileUpToDate != false)
    {
        IsFileUpToDate = false;
    }
}

Когда страница сначала перемещается, IsFileUpToDate должен быть установлен в true. Я установил его так:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    IsFileUpToDate = true;
}

Тем не менее, RichEditBox сразу же получает фокус, когда загружается страница, и это, по-видимому, вызывает у него значение Boolean, даже если текст не был изменен. Почему он это делает? Как я могу переписать эти команды так, чтобы булевы были надежно установлены?

Теги:
windows-runtime
textchanged

1 ответ

0

RichEditBox получает текст, измененный при загрузке
у вас может быть еще один флаг, чтобы убедиться, что он не изменит ваше время в течение fisrt

private void OnTextChanged(object sender, RoutedEventArgs e)
{
    if (IsFirstload)
    {
        IsFirstLoad = false;
        return;
    }

    if (IsFileUpToDate != false)
    {
        IsFileUpToDate = false;
    }
}
  • 0
    Я также вижу эту ошибку, и это не просто, когда загружается RichEditBox. Вместо этого, каждый раз, когда RichEditBox фокусируется. В результате это решение не будет работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню