【发布时间】:2011-02-09 15:28:40
【问题描述】:
我做了一个用户控件,它工作得很好,但是当我把这个控件的两个实例放到一个窗口时,只有最后一个可以工作。我试图找到解决方案,我意识到,依赖属性是共享的,但我不知道如何让它工作。
这是我的依赖属性:
public double AnimatingVerticalOffset
{
get { return (double)GetValue(AnimatingVerticalOffsetProperty); }
set { SetValue(AnimatingVerticalOffsetProperty, value); }
}
public static readonly DependencyProperty AnimatingVerticalOffsetProperty;
static ListChooser()
{
ListChooser.AnimatingVerticalOffsetProperty =
DependencyProperty.Register("AnimatingVerticalOffset", typeof(double), typeof(ListChooser), new UIPropertyMetadata(OnAnimationVerticalOffsetChanged));
}
【问题讨论】:
-
@user:你能解释一下为什么你的依赖属性是“共享的”吗?您发布的代码看起来是正确的,没有更多示例,我不确定您遇到了什么问题。
-
嗨,这是我的问题:当我用这个组件的更多实例启动窗口时,只有最后创建的实例会改变依赖属性。他们中的其他人看到由最后一个实例设置的值,但无法设置此属性。没有例外或其他的东西它只是不起作用。
-
对不起,我的错。问题出在其他地方,我已经解决了,但是真的很奇怪。