diff --git a/src/Package.props b/src/Package.props
index f93943b..1e35a58 100644
--- a/src/Package.props
+++ b/src/Package.props
@@ -7,6 +7,12 @@
MIT
true
https://github.com/irihitech/Ursa.Avalonia
+
+
+ IDE0130;IDE00056;IDE0306;IDE0305;IDE0300;IDE0290;IDE0251;IDE0090;IDE0079;IDE0066;IDE0062;IDE0060;IDE0057;IDE0056;IDE0044;IDE0042;IDE0039;IDE0031;IDE0028;IDE0017;
+ CA2208;CA1866;CA1861;CA1859;CA1847;CA1845;CA1822;CA1041;
+ IDE0270;IDE0074;IDE0059;IDE0041;IDE0030;IDE0019;
+
diff --git a/src/Ursa/Controls/ElasticWrapPanel.cs b/src/Ursa/Controls/ElasticWrapPanel.cs
index 6fb71b6..ad03188 100644
--- a/src/Ursa/Controls/ElasticWrapPanel.cs
+++ b/src/Ursa/Controls/ElasticWrapPanel.cs
@@ -319,9 +319,18 @@ public class ElasticWrapPanel : WrapPanel
{
if (itemSetSize.U > 0)
{
- int maxElementCount = lineUVCollection
- .Max(uiSet => uiSet.UICollection
- .Sum(p => p.Value.ULengthCount));
+ // 用 foreach 替换嵌套 LINQ,彻底避免类型推断和绑定压力
+ // 修复 C29236 编译时需要绑定 lambda 表达式至少 100 次。请考虑使用显式参数类型声明 lambda 表达式,如果包含的方法调用是泛型的,请考虑使用显式类型参数。
+ int maxElementCount = 0;
+ foreach (var uiSet in lineUVCollection)
+ {
+ int sum = 0;
+ foreach (var p in uiSet.UICollection)
+ {
+ sum += p.Value.ULengthCount;
+ }
+ maxElementCount = Max(sum, maxElementCount);
+ }
adaptULength = (uvFinalSize.U - maxElementCount * itemSetSize.U) / maxElementCount;
adaptULength = Max(adaptULength, 0);
}
diff --git a/src/Ursa/Controls/Panels/WrapPanelWithTrailingItem.cs b/src/Ursa/Controls/Panels/WrapPanelWithTrailingItem.cs
index f26d193..3a8f496 100644
--- a/src/Ursa/Controls/Panels/WrapPanelWithTrailingItem.cs
+++ b/src/Ursa/Controls/Panels/WrapPanelWithTrailingItem.cs
@@ -52,8 +52,6 @@ public class WrapPanelWithTrailingItem : Panel
if (!IsItemsHost) LogicalChildren.Add(newValue);
}
}
-
- WrapPanel p = new WrapPanel();
}
protected override Size MeasureOverride(Size availableSize)
diff --git a/src/Ursa/Controls/SelectionList/SelectionList.cs b/src/Ursa/Controls/SelectionList/SelectionList.cs
index 045421c..7ab8b96 100644
--- a/src/Ursa/Controls/SelectionList/SelectionList.cs
+++ b/src/Ursa/Controls/SelectionList/SelectionList.cs
@@ -159,8 +159,6 @@ public class SelectionList : SelectingItemsControl
protected override void OnKeyDown(KeyEventArgs e)
{
- var hotkeys = Application.Current!.PlatformSettings?.HotkeyConfiguration;
-
if (e.Key.ToNavigationDirection() is { } direction && direction.IsDirectional())
e.Handled |= MoveSelection(direction, WrapSelection);
base.OnKeyDown(e);