Blacklight 是一组较旧的 WPF 控件和样式。代码可以在这里找到。它包含一个名为 AnimatedExpander 的控件,它并不是一个真正的扩展器,它只是实现了 HeaderedContentControl 并添加了一个 IsExpandedProperty dprop:
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");
}
}
}
当用户单击连接以展开控件的切换按钮时,如何绑定到更改的值?