首页 > 解决方案 > XAML 属性集顺序优化

问题描述

我正在创建一个名为 SystemTreeControl 的控件,它是一个包含节点的树。有2个依赖属性:

这就是我使用它的方式:

<controls:SystemTreeControl
    RootNode="{Binding RootNode}"
    Filter="{x:Static configuration:Configuration.DefaultFilter}"/>

设置 RootNode 属性时,如果生成树。然后设置过滤器,因此必须清除并重新生成树。这是耗时且未优化的。

请记住,过滤器也可以为空,所以我不能等待过滤器设置为生成树。

我找到的唯一解决方案是更改 XAML 中的属性顺序,因此在根节点之前设置过滤器:

<controls:SystemTreeControl
    Filter="{x:Static configuration:Configuration.DefaultFilter}"
    RootNode="{Binding RootNode}"/>

我不喜欢这种解决方案,因为优化工作是在控件之外完成的,使用此控件的开发人员必须意识到这一点。

有一个更好的方法吗 ?

标签: c#wpfxamldata-bindingfiltering

解决方案


推荐阅读