导致StackOverflowException
的页面上的示例xaml代码。
如果从第二个元素中删除MyProperty="{Binding ElementName=SourceFlyout}"
,
没关系。 MyProperty
是附属财产。 AdvancedBehavior
是最简单的行为类,容易复制错误。
MyProperty
是一个空的附加或依赖属性,里面没有逻辑。会发生什么?
<ListPickerFlyout x:Name="SourceFlyout">
<helpers:XamlExtention.Behaviors>
<helpers:BehaviorCollection>
<behaviors:AdvancedBehavior MyProperty="{Binding ElementName=DestinationFlyout}" />
</helpers:BehaviorCollection>
</helpers:XamlExtention.Behaviors>
</ListPickerFlyout>
<ListPickerFlyout x:Name="DestinationFlyout">
<helpers:XamlExtention.Behaviors>
<helpers:BehaviorCollection>
<behaviors:AdvancedBehavior MyProperty="{Binding ElementName=SourceFlyout}" />
</helpers:BehaviorCollection>
</helpers:XamlExtention.Behaviors>
</ListPickerFlyout>
答案 0 :(得分:1)
行为AdvancedBehavior
不期望通过SourceFlyout
绑定到MyProperty
,您需要确定MyProperty
正常工作所需的实际数据。