WPF, связывающий не работающий правильно со свойствами международного типа

Я начал профессионала, программирующего с Visual Basic 3.0 приблизительно десятилетие назад, и я был, вероятно, последним парнем, который мигрирует на.NET (я сделал это в 2004). Таким образом, Вы не МОГЛИ найти более крупного поклонника платформы, чем я.

  1. я не думаю, что Visual Basic 6.0 собирается уйти скоро. Существуют, много унаследованных приложений, записанных в нем. Компания бухгалтерское программное обеспечение, настроенные инструменты, Вы называете их. Таким образом, приложения будут вокруг.

  2. количество новых приложений Visual Basic 6.0 понижается в спирали, поэтому если Вы надеетесь делать карьеру как программист Visual Basic 6.0, Вы являетесь устаревшими.

  3. Однако будет довольно высокий спрос на людей, которые могут поддержать/устранить/обновить старый код.

мне записали программное обеспечение в Visual Basic 6.0, это получено о 100 тысячах пользователи и все еще идет сильное. Вся моя новая разработка находится в C#, но для этого конкретного программного обеспечения, я думаю, что перепишу его в C#, к 2009 заканчиваются, или начало 2010 года. Так, по крайней мере, до того времени я не вижу, что Visual Basic 6.0 не поддерживается Windows.

9
задан akjoshi 30 August 2012 в 14:53
поделиться

3 ответа

У меня была аналогичная проблема.

Вам просто нужно обновить код как:

<TextBox Text="{Binding Path=MaxOccurrences, Mode=TwoWay, TargetNullValue={x:Static sys:String.Empty},
NotifyOnSourceUpdated=True,  UpdateSourceTrigger=PropertyChanged}"  
HorizontalAlignment="Center" Width="30" Margin="0,0,5,0"/> 
25
ответ дан 4 December 2019 в 06:26
поделиться

Это потому, что значение int не может быть нулевым . Лучше всего использовать свойство string , которое преобразует значение в вашем коде в обязательное поле свойства int.

Таким образом вы можете выполнить

if(string.IsNullOrEmpty(text))
{
  this.intValue = 0;
}
0
ответ дан 4 December 2019 в 06:26
поделиться

Частично это предположение (у меня сейчас нет VS под рукой, чтобы опробовать его), но я думаю, это потому, что очищенное текстовое поле представляет собой пустую строку ( "" ), который не может быть неявно преобразован в int . Вам, вероятно, следует реализовать преобразователь типов, чтобы обеспечить преобразование для вас. (возможно, вы захотите преобразовать "" в 0)

6
ответ дан 4 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: