Blacklight - это старый набор элементов управления и стилей WPF. Код может быть найден here. Он содержит элемент управления под названием AnimatedExpander, который не является действительно расширитель, а он просто реализует HeaderedContentControl и добавляет DPROP IsExpandedProperty:Невозможно связать с IsExpanded на Expander
public static readonly DependencyProperty IsExpandedProperty =
DependencyProperty.Register("IsExpanded", typeof(bool), typeof(AnimatedExpander), new PropertyMetadata(true));
public bool IsExpanded
{
get
{
if (this.expandToggleButton != null)
{
return this.expandToggleButton.IsChecked.Value;
}
return (bool)GetValue(IsExpandedProperty);
}
set
{
SetValue(IsExpandedProperty, value);
}
}
мне нужно привязать к IsExpanded, так что я может сохраняться ли расширены расширители. Я уверен, что правильно настроил привязку, и что существует проблема с этим пользовательским свойством зависимостей. Если я открою представление в Snoop и установлю IsExpanded = True на расширителе, это будет работать. Тем не менее, просто нажав кнопку expandToggleButton на элементе управления, только расширяется элемент управления, он не попадает в мою привязку.
<controls:AnimatedExpander IsExpanded="{Binding SGGExpanderExpanded}" />
private bool _sGGExpanderExpanded;
public bool SGGExpanderExpanded
{
get { return _sGGExpanderExpanded; }
set
{
if (_sGGExpanderExpanded != value)
{
_sGGExpanderExpanded = value;
OnPropertyChanged("SGGExpanderExpanded");
}
}
}
Как можно привязать к значению, которое изменяется, когда пользователь нажимает на кнопку переключателя, который подключается расширить контроль?
опубликовать полный код и XAML этого элемента управления. –
Спасибо за интерес. Код доступен по ссылке и может быть протестирован путем простого привязки одного из примеров AnimatedExpanders к манекену viewmodel. Поскольку у меня плохое решение, о котором я упоминал, я не могу позволить себе потратить кучу времени на поиски хорошего решения прямо сейчас. Я попытаюсь вернуться в выходные, чтобы найти чистое решение MVVM. – JoeB
правый. Я почти уверен, что проблема, с которой вы столкнулись, связана с плохой реализацией этого элемента управления. –