【问题标题】:Xceed MaskedTextBox ArgumentExceptionXceed MaskedTextBox ArgumentException
【发布时间】:2016-02-10 16:44:25
【问题描述】:

我最近刚刚重新映像了我的机器并重新安装了 Visual Studio 2015。

我有一个项目在重新安装之前没有发生过 Xceeds MaskedTextBox。

在我的 XAML 中:

 <xctk:MaskedTextBox x:Name="Mtb" PreviewMouseDown="MaskedTextBox_PreviewMouseDown" Mask="(###) ###-####" Value="{Binding SearchNumber}"
                                    ValueDataType="{x:Type s:String}" Height="29" IncludeLiteralsInValue="False" Width="186" FontSize="16"  AutoMoveFocus="True"  Style="{DynamicResource MaskedTextBoxStyle}">

现在,在设计器中,我收到“ArgmentException:值表示 'SearchNumber' 与掩码不匹配。参数名称:值。

项目仍然正常构建和运行,但是,当存在 MaskedTextBox 时,设计会引发异常。

有人看过吗?我已经提交给 Microsoft,因为我认为这可能是 Visual Studio 问题,但我想看看是否有其他人偶然发现了这个问题并找到了解决方案,或者可以提供一些东西让我尝试。

【问题讨论】:

    标签: c# wpf xceed


    【解决方案1】:

    我在 Extended.Wpf.Toolkit from NuGet 的 2.6.0 版本中看到了这个问题。这绝对不是微软的问题。我正在使用 MVVMLight 并在构造函数中为我的视图模型设置一些设计时数据。

    原来我合法设置的数据不符合掩码 - 我的掩码用于 SSN (123-45-6789),我分配给绑定值的值是“1234567890”或“123-45” -67890”。更改构造函数中的值以匹配预期的掩码长度解决了我的问题。

    【讨论】:

    • 谢谢,这实际上帮助我指明了正确的方向。我会发布这个问题的答案。
    【解决方案2】:

    原来问题在于我的 DesignInstance 是否被标记为 DesignTimeCreateable。

    改变这个: d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler}"

    对此: d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler, IsDesignTimeCreatable=True}"

    解决了这个问题。我不需要为绑定属性指定默认值。似乎工具包不喜欢在设计时未创建实例时的绑定。我也会将此发布到 Xceed 论坛。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多