Mam kontrolkę Expander
z jego właściwością IsExpanded
powiązaną z boolem w modelu mvvm. Wiązanie działa dobrze, dopóki nie dotkniesz ekspandera. Po kliknięciu strzałki w ekspanderze w celu rozwinięcia wiązanie przestaje działać. Ustawienie bool ShowPreview na false w modelu nie zwija ekspandera.Expander WPF IsExpanded binding
<Expander Name="pExpander"
IsExpanded="{Binding Path=ShowPreview,Mode=OneWay}"
Header="Preview">
<TextBlock Text="{Binding Path=Message, Mode=OneWay}"></TextBlock>
</Expander>
Czy twój obiekt z właściwością ShowPreview implementuje interfejs INotifyPropertyChanged i podnosi wydarzenie po zmianie właściwości? – mattythomas2000
Tryb wiązania powinien być TwoWay. Po rozwinięciu ekspandera wiązanie OneWay ulega zwinięciu, a rozszerzenie jest sterowane ramowo. – apandit
Dzięki! TwoWay działa. Ale dlaczego nie może działać w ten sposób? Interesuje mnie tylko model kontrolujący ekspansję i zwijanie oparty na zdarzeniu zewnętrznym, które ustawia go na wartość true lub false. Jeśli struktura rozszerza lub zwija ekspander, nie jestem zainteresowany, aby ta wartość została cofnięta w modelu. – netraju