2016-02-10 4 views
0

Я только недавно повторно отображен моя машина и повторно установлен Visual Studio 2015.Xceed MaskedTextBox ArgumentException

У меня есть проект, который бросает истерику над 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, но я хотел чтобы увидеть, наткнулся на эту проблему и нашел решение, или, возможно, предложит мне кое-что попробовать.

ответ

0

Оказывается, проблема заключалась в том, был ли мой DesignInstance отмечен как DesignTimeCreateable.

Изменение этого: D: DataContext = "{д: DesignInstance ViewModel: TextServiceHandler}"

К этому: д: DataContext = "{д: DesignInstance ViewModel: TextServiceHandler, IsDesignTimeCreatable = True}"

Решен вопрос. Мне не нужно было указывать значение по умолчанию для свойства bound. Кажется, Toolkit не понравился привязку, когда экземпляр не был создан во время разработки. Я отправлю это на форумы Xceed.

1

Я видел эту проблему в версии 2.6.0 Extended.Wpf.Toolkit from NuGet. Это определенно не проблема Microsoft. Я использовал MVVMLight и устанавливал некоторые данные о времени разработки на моей модели просмотра в конструкторе.

Оказывается, что данные, которые я устанавливал законно, не соответствовали маске - моя маска была для SSN (123-45-6789), а значение, которое я присваивал связанному значению, было «1234567890» или «123- 45-67890" . Изменение значения в моем конструкторе в соответствии с ожидаемой длиной маски исправило мою проблему.

+0

Спасибо, это действительно помогло мне указать в правильном направлении. Я отправлю ответ на этот вопрос. – JordanTDN