首页 > 解决方案 > WPF 行为不再适用于最新的 NuGet

问题描述

该应用程序过去运行良好,但几周前我们更新了数百个 NuGet 包。我们最近发现任何对 WPF 行为的引用都会产生以下错误:

System.Windows.Markup.XamlParseException:''向'Microsoft.Xaml.Behaviors.BehaviorCollection'类型的集合添加值引发异常。' 行号“78”和行位置“86”。

内部异常 ArgumentException:无法将“TextBoxInputBehavior”类型的实例添加到“BehaviorCollection”类型的集合中。只允许使用“T”类型的项目。

我怀疑这是因为 NuGet 更新,但我不知道是哪个导致了错误,或者哪个需要更改。我正在使用 Microsoft.Xaml.Behaviors.Wpf (1.1.31) 的最新版本。

我会很感激建议。谢谢。

代码:

         xmlns:Behaviors="clr-namespace:MyCompany.MyProject"
         xmlns:i="http://schemas.microsoft.com/xaml/behaviors"

            <TextBox Text="...">
                <i:Interaction.Behaviors>
                    <Behaviors:TextBoxInputBehavior InputMode="DecimalInput" JustPositiveDecimalInput="False" RangeMin="-1000000.000" RangeMax="1000000.000" />
                </i:Interaction.Behaviors>
            </TextBox>

//...

using Microsoft.Xaml.Behaviors;
//...
public class TextBoxInputBehavior : Behavior<TextBox>
//...

标签: wpfxamlbehaviorattachedbehaviors

解决方案


推荐阅读