Wpf 正在清除本地值但xaml未刷新的附加属性

Wpf 正在清除本地值但xaml未刷新的附加属性,wpf,attached-properties,Wpf,Attached Properties,我在OrderableStack类中派生了StackPanel类 我的目标是允许堆栈的子级将名为“First”的附加属性设置为true,从而使该子级成为堆栈中的第一个元素 当attached属性设置为true时,将调用元数据中定义的PropertyChangedCallback过程,该过程首先从堆栈中删除子元素,然后将其插入位置0。最后,所有其他子级都将其“First”附加属性设置为False 这是可行的,但: -如果在VS 2010中显示附加属性时,该属性已在xaml中定义,则VS 2010表

我在OrderableStack类中派生了StackPanel类

我的目标是允许堆栈的子级将名为“First”的附加属性设置为true,从而使该子级成为堆栈中的第一个元素

当attached属性设置为true时,将调用元数据中定义的PropertyChangedCallback过程,该过程首先从堆栈中删除子元素,然后将其插入位置0。最后,所有其他子级都将其“First”附加属性设置为False

这是可行的,但:

-如果在VS 2010中显示附加属性时,该属性已在xaml中定义,则VS 2010表示“未设置引用…”

-我可以检查除定义为“first”的子项外,其他每个子项是否都有OrderableStack.first在属性窗口中设置为false,但xaml没有更新。很多子级可以将OrderableStack.First attached属性设置为true(在XAML中),即使实际上只有最后一个要设置的子级具有true值

你能帮我吗

如果在VS 2010中显示附加属性时,该属性已在xaml中定义,则VS 2010表示“未设置引用…”

这是否会阻止您构建和运行应用程序?避免此“设计器”错误的方法是对附加属性的
PropertyChangedCallback
代码进行一些可空性检查

我可以检查所有其他孩子,除了定义为“第一个”的孩子 ,具有OrderableStack。首先在“属性”窗口中设置为false, 但是xaml没有更新

我没有得到最后一点。您希望您的XAML设计器在设计模式下“模拟”排序吗?那么最好的候选设计器是XAML Pad或Expression Blend。令人遗憾的是,VisualStudio设计师并不是最好的。它们也不会“模拟”动画/触发器

我希望这有帮助