Xceed MaskedTextBox ArgumentException
Xceed MaskedTextBox ArgumentException
我最近刚刚重新映像我的机器并重新安装 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' 与掩码不匹配。参数 name:value。
项目仍然正常构建和运行,但是,当 MaskedTextBox 存在时,设计会抛出异常。
有人看过吗?我已经提交给 Microsoft,因为我认为这可能是一个 Visual Studio 问题,但我想看看是否有其他人偶然发现了这个问题并找到了解决方案,或者可以提供一些东西让我尝试。
我在 Extended.Wpf.Toolkit from NuGet 的 2.6.0 版本中发现了这个问题。这绝对不是 Microsoft 的问题。我正在使用 MVVMLight 并在构造函数中为我的视图模型设置一些设计时数据。
事实证明,我合法设置的数据不符合掩码 - 我的掩码用于 SSN (123-45-6789),我分配给绑定值的值是“1234567890”或“123” -45-67890”。更改我的构造函数中的值以匹配预期的掩码长度解决了我的问题。
原来问题出在我的 DesignInstance 是否被标记为 DesignTimeCreateable。
改变这个:
d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler}"
为此:
d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler, IsDesignTimeCreatable=True}"
问题已解决。我不需要为绑定 属性 指定默认值。似乎 Toolkit 不喜欢在设计时未创建实例时的绑定。我也会将其发布到 Xceed 论坛。
我最近刚刚重新映像我的机器并重新安装 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' 与掩码不匹配。参数 name:value。
项目仍然正常构建和运行,但是,当 MaskedTextBox 存在时,设计会抛出异常。
有人看过吗?我已经提交给 Microsoft,因为我认为这可能是一个 Visual Studio 问题,但我想看看是否有其他人偶然发现了这个问题并找到了解决方案,或者可以提供一些东西让我尝试。
我在 Extended.Wpf.Toolkit from NuGet 的 2.6.0 版本中发现了这个问题。这绝对不是 Microsoft 的问题。我正在使用 MVVMLight 并在构造函数中为我的视图模型设置一些设计时数据。
事实证明,我合法设置的数据不符合掩码 - 我的掩码用于 SSN (123-45-6789),我分配给绑定值的值是“1234567890”或“123” -45-67890”。更改我的构造函数中的值以匹配预期的掩码长度解决了我的问题。
原来问题出在我的 DesignInstance 是否被标记为 DesignTimeCreateable。
改变这个: d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler}"
为此: d:DataContext="{d:DesignInstance ViewModel:TextServiceHandler, IsDesignTimeCreatable=True}"
问题已解决。我不需要为绑定 属性 指定默认值。似乎 Toolkit 不喜欢在设计时未创建实例时的绑定。我也会将其发布到 Xceed 论坛。