2011-09-23 49 views
0

将下面的虚构代码转换为依赖属性的最佳方式是什么? 日期属性将在另一个控件中?帮助将NotifyOnChange属性转换为依赖项属性

[DependsOn("Date")] 
    public int Year 
    { 
     get { return Date.Year; } 
     set { Date.Year = value; } 
    } 

    [NotifyOnChange] 
    public DateTime Date 
    { 
     get; set; 
    } 
+0

部分说明:设置年份将通知日期已更改,设置日期将通知年份已更改。 –

+0

您的虚构代码在同一个类中显示了两个属性,但在您的介绍段落中,您说Date属性将位于“另一个控件”中。那么这是否意味着这两个属性将位于两个不同的类中,并且具有Year的对象将会使用Date对该对象进行某种引用? –

+0

这只是一个额外的问题,如果它有所作为。 –

回答

0

依赖属性可以依赖彼此经由BindingStyleTriggerTemplate等。在它们继承等DataContext值某些情况下。在其他情况下,他们复制所有者的值,例如Border的background color

在你的情况下,你是否想创建两个依赖项属性,默认情况下依赖于彼此在声明级本身,即在代码后面?

如果是这样,你的Date可以是一个Dep.Prop说DateProperty。和Year可以是其他的说YearProperty。在DatePropertyYearPropertyPropertyChangedCallBack元数据中,相互更改对方,注意它们不落入死锁

+0

这就是我正在做的,它只是非常详细,所以我希望有一个方面,我失踪了。 –