Zwykle, gdy chcesz, aby kontrolka databuntów aktualizowała się, używasz zdarzenia "PropertyChanged", aby zasygnalizować interfejsowi, że dane zmieniły się za kulisami.Aktualizacja powiązania WPF po powiązaniu bezpośrednio z DataContext w konwerterze
Na przykład można mieć textblock, który jest związany z datacontext z właściwością "displayText"
<TextBlock Text="{Binding Path=DisplayText}"/>
Stąd, jeżeli DataContext zgłasza zdarzenie PropertyChanged z propertyName "displayText", a następnie ten tekst bloku tekstowego powinien zostać zaktualizowany (zakładając, że nie zmieniono trybu wiązania).
Jednak mam bardziej skomplikowane powiązanie, które wykorzystuje wiele właściwości poza datacontextem w celu określenia ostatecznego wyglądu i działania kontrolki. Aby to osiągnąć, wiążę się bezpośrednio z datacontextem i używam konwertera. W tym przypadku pracuję ze źródłem obrazu.
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
Jak widać, używam {Binding} bez ścieżki wiązać bezpośrednio do datacontext, i używam ImageConverter aby wybrać obraz, którego szukam. Ale teraz nie mam sposobu (o którym wiem), aby powiedzieć, że zobowiązanie do aktualizacji. Próbowałem podnieść propertychanged event z "." jako nazwa właściwości, która nie działała.
Czy to możliwe? Czy muszę zawinąć logikę konwertującą w właściwość, do której można dołączyć powiązanie, lub czy istnieje sposób powiadomienia wiązania o odświeżeniu (bez wyraźnego odświeżania wiązania)?
Każda pomoc zostanie bardzo doceniona. Dzięki! -Adam
DZIĘKUJEMY! Byłem szalony, szukając tego i chciałem go zapytać, kiedy pojawiło się na moich sugestiach – HDD