0
Blacklight是一组较旧的WPF控件和样式。代码可以在here找到。它包含一个名为AnimatedExpander控制这是不是一个真正的扩展,而它只是实现HeaderedContentControl并增加了一个IsExpandedProperty dprop:无法绑定到扩展器上的IsExpanded
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。 – 2013-04-04 17:12:25
感谢您的关注。代码在链接处可用,并且可以通过简单地将示例AnimatedExpanders中的一个绑定到虚拟视图模型来进行测试。 由于我提到的工作不好,我不能浪费大量时间寻找一个好的解决方案。我会尽量在周末回来寻找一个纯粹的MVVM解决方案。 – JoeB 2013-04-04 18:10:12
没错。我几乎可以肯定,你遇到的问题是由于该控件的不好实现。 – 2013-04-04 18:14:37