Jak można ignorować zmiany w kontroli gdy występuje wiązania z danymi? Próbowałem spinanie różne imprezy jak gotfocus, TextChanged i leavefocus, ale jeśli kontrola ma już skoncentrować, a użytkownik „anuluje” ich zmiany, kiedy przeładować rekord i dane wiążące przejmuje, TextChanged myśli użytkownik pomimo zmiany od skupienie się na tej kontroli. Stos wywołań jest pusty. Czy są jakieś globalne zdarzenia powiązania danych, takie jak rozpoczęcie wiązania danych i zakończenie wiązania danych? Widzę, gdzie strzelam do OnProperyChanged, ale w ramach tego połączenia, wiązanie danych nie występuje. Wygląda na to, że robi się "w kolejce" i działa w innym punkcie.Ignorowanie text/zmiany wartości ze względu na Databinding
W pewnym momencie zamierzałem przechwycić zdarzenia zmiany właściwości w naszym modelu widoku, ale oznacza to, że nie wykryję i NIE MOŻNA WYŚWIETLAĆ wyświetlania formularza, dopóki użytkownik nie przejdzie kontroli. Wiem, wiem, mogę zmienić wszystkie moje powiązania tak, że wiązanie następuje niezwłocznie po każdej zmianie postaci, ale potem ten bałagan z niektórych przypadkach walidacji jako użytkownik nie skończył pisać w ich wartości.
Bardzo bym chciał, aby coś takiego jak TextChangedByUser wywołało, niezależnie od tego, czy użytkownik użył klucza, schowka, schowka na myszy, wszystkiego, co wywołał użytkownik.
po prostu nie może dowiedzieć się, jak odróżnić zmian użytkownika oraz zmian Databinding.
Tak, znalazłem to już, chociaż tak naprawdę nie jest to, co chciałem bezpośrednio. Dodaję procedurę obsługi zdarzenia zdarzenia TargetUpdated obiektu wiązania. W tym przypadku obsługiwanym w ramach niestandardowych elementów sterujących resetuję flagi, których używam do śledzenia, jeśli użytkownik modyfikuje pole. To, co naprawdę chciałbym, to w każdej procedurze obsługi zdarzeń, aby móc przesłać zapytanie o pewną statyczną właściwość, która mówi mi, czy jest to wydarzenie wiążące, czy nie. – happyfirst
imho naprawdę patrzysz na to w niewłaściwy sposób. Powinieneś rozważyć przeprojektowanie przejścia z TargetUpdated na SourceUpdated tak, jak sugerowałem. Zdasz sobie sprawę, że właśnie tego szukasz. "Bardzo chciałbym, aby w każdej procedurze obsługi zdarzenia była możliwość wysyłania zapytań o pewną statyczną właściwość, która mówi mi, czy jest to zdarzenie wiążące, czy nie". –
Widzę, do czego dążysz. Zgaduję, że technicznie, źródło zaktualizowane zawsze będzie zawsze uruchamiane, a następnie aktualizowane? Będę eksperymentować z podpinaniem SourceUpdated – happyfirst