Próbuję znaleźć różnice między tymi podejściami. Czy istnieje jakakolwiek sytuacja, w której stosowane są zachowania, a tej samej funkcjonalności nie można było wykonać przy użyciu załączonych właściwości?Interactivity.Behavior <T> vs właściwości dołączone
Odpowiedz
Nie. Zachowania są po prostu znacznie ładniejszą abstrakcją na podstawie dołączonych właściwości.
Korzystając z usługi Behavior<T>
uzyskujesz bezpośredni dostęp do AssociatedObject
, a także możliwość łatwego dołączania i odłączania tego zachowania w czasie wykonywania.
Można to zrobić z załączonymi właściwościami, ale wymagałoby to dodania dużej ilości dodatkowych elementów hydraulicznych.
Zachowania są oparte na załączonych właściwościach. Oznacza to, że jeśli nie możesz znaleźć określonego zachowania - piszesz własne, albo na podstawie schematu behawioralnego dostarczonego przez Blend, albo tworząc własne AP ...
Zawsze jednak takie zachowania są doskonałym dowodem na moc dołączonych właściwości. Po prostu niesamowite, co możesz z nimi zyskać.
Używam Zachowań, aby dodać funkcjonalność, która powoduje widoczne zmiany. Podczas gdy używam załączonych właściwości, aby dodać dodatkowe informacje do obiektu, który jest następnie używany przez inne obiekty.
E.g. Grid.Row tworzy dobrze powiązaną właściwość, ponieważ jest używana przez Grid, a nie cel. Z drugiej strony Autokorekta zachowa się dobrze, ponieważ spowoduje to widoczne zmiany na obiekcie.
To nie jest odpowiedź. Ale najlepsze wyjaśnienie na ten temat można znaleźć: http://briannoyes.net/attached-behaviors-vs-attached-properties-vs-blend-behaviors/
Brian Noyes w swoich artykułach wyraźnie opisuje różnice między poszczególnymi koncepcjami.
Podany link jest uszkodzony. –
Oto działający link http://briannoyesblog.azurewebsites.net/2012/12/20/attached-behaviors-vs-attached-properties-vs-blend-behaviors/ – lukeguy
Jednak trudno jest dodać je do stylu. –
W rzeczywistości istnieje kilka rzeczy, których nie można zrobić z załączonymi właściwościami ... Na przykład można dodać kilka wystąpień tego samego zachowania, ale można ustawić tylko jedną właściwość dołączoną tylko raz. OTOH, załączone właściwości mają krótszą składnię i mogą być używane w stylach, co jest trudne w zachowaniu. –
@ThomasLevesque można również zdefiniować właściwość Attached, która dodaje Behaviors do danego elementu interfejsu użytkownika i ustawić tę właściwość w stylu. Haha =) –