Вы можете получить представление о этой теме , проверьте, сфокусирована ли запись на различии причин изменения текста:
public MainPage()
{
InitializeComponent();
myEntry.TextChanged += MyEntry_TextChanged;
}
private void MyEntry_TextChanged(object sender, TextChangedEventArgs e)
{
var entry = sender as Entry;
if (entry.IsFocused)
{
//change from UI
Console.WriteLine("change from UI");
}
else{
//change from code
Console.WriteLine("change from code");
}
}
Обновление : лучший способ решения проблемы оп:
Вы можете установить флаг самостоятельно, который скажет вашему коду игнорировать событие. Например:
private bool ignoreTextChanged;
private void textNazwa_TextCanged(object sender, EventArgs e)
{
if (ignoreTextChanged) return;
}
Создайте метод и используйте его для установки текста вместо простого вызова Text = "..."; ::
private void SetTextBoxText(TextBox box, string text)
{
ignoreTextChanged = true;
box.Text = text;
ignoreTextChanged = false;
}
См .: ignoreTextChanged