c# - XAML 属性集顺序优化
问题描述
我正在创建一个名为 SystemTreeControl 的控件,它是一个包含节点的树。有2个依赖属性:
RootNode : 绑定到树的根节点
过滤器:绑定到定义节点是否应显示在树中的委托。
这就是我使用它的方式:
<controls:SystemTreeControl
RootNode="{Binding RootNode}"
Filter="{x:Static configuration:Configuration.DefaultFilter}"/>
设置 RootNode 属性时,如果生成树。然后设置过滤器,因此必须清除并重新生成树。这是耗时且未优化的。
请记住,过滤器也可以为空,所以我不能等待过滤器设置为生成树。
我找到的唯一解决方案是更改 XAML 中的属性顺序,因此在根节点之前设置过滤器:
<controls:SystemTreeControl
Filter="{x:Static configuration:Configuration.DefaultFilter}"
RootNode="{Binding RootNode}"/>
我不喜欢这种解决方案,因为优化工作是在控件之外完成的,使用此控件的开发人员必须意识到这一点。
有一个更好的方法吗 ?
解决方案
推荐阅读
- apache-spark - mapPartitionsWithIndex 和 worker 索引之间的 Spark 相关性
- java - 如何识别 Azure 服务总线队列为空
- java - 尝试查询路线时出现意外错误
- python - 用 bins=0.2(分数)水平 bin 熊猫数据框,我应该怎么做?
- python - 即使我安装了 keras-efficientnets,我也无法导入 keras-efficientnet B0
- c++ - Native C++ 带返回值的异步后台线程,主线程不能被阻塞
- python - 如何使用python从pdf中的不平衡表中提取数据?
- android - android中前台服务与Activity之间的区别
- skiasharp - SkiaSharp - 如何在曲线之间的填充空间上创建阴影或虚线图案
- django - Django ORM:带有 select_related 和 prefetch_related 的递归查询