Проблема с валидацией текстового ввода WPF
Есть textbox(ы), которые предназначены для ввода диапазона цены и диапазона мощности двигателя автомобиля. Они привязаны к свойствам объекта SearchParams. Т.е. логика такая, что человек выбирает можно сказать параметры поиска (изменяются свойства объекта SearchParams), и затем по нажатию на кнопку исходя из свойств SearchParams формируется запрос к БД и вытаскиваются оттуда машины. Проблема с textbox(ами), так как их свойства text привязаны к свойствам, у которых тип long и int, они сами изначально подсвечиваются красным, предупреждая об ошибке. Но даже если я в коде им при инициализации окна задам значения начальные, все равно при загрузке окна они будут красные, только если я направлю на эти поля фокус, а затем уберу, пропадает красная обводка, но сверху не пропадает предупреждение. Что мне предпринять?
<TextBox x:Name="priceFromTB" Grid.Column="0" Margin="0,0,3,0"
Text="{Binding Source={StaticResource params}, Path=PriceFrom, Mode=OneWayToSource}"
PreviewTextInput="textInput_PreviewTextInput"
PreviewKeyDown="keyInput_PreviewKeyDown"></TextBox>
<TextBox x:Name="priceToTB" Grid.Column="1" Margin="3,0,0,0"
Text="{Binding Source={StaticResource params}, Path=PriceTo, Mode=OneWayToSource}"
PreviewTextInput="textInput_PreviewTextInput"
PreviewKeyDown="keyInput_PreviewKeyDown"></TextBox>
Это примеры текстбоксов.
public partial class MainWindow : Window
{
ObservableCollection<Auto> autoCollection;
public MainWindow()
{
InitializeComponent();
markComboBox.ItemsSource = Categories.marks;
markComboBox.DisplayMemberPath = "Key";
markComboBox.SelectedValuePath = "Value";
categoryComboBox.ItemsSource = Categories.bodyType;
categoryComboBox.DisplayMemberPath = "Key";
categoryComboBox.SelectedValuePath = "Value";
gearComboBox.ItemsSource = Categories.gearType;
gearComboBox.DisplayMemberPath = "Key";
gearComboBox.SelectedValuePath = "Value";
engineComboBox.ItemsSource = Categories.engineType;
engineComboBox.DisplayMemberPath = "Key";
engineComboBox.SelectedValuePath = "Value";
transmissionComboBox.ItemsSource = Categories.transmission;
transmissionComboBox.DisplayMemberPath = "Key";
transmissionComboBox.SelectedValuePath = "Value";
wheelComboBox.ItemsSource = Categories.wheel;
wheelComboBox.DisplayMemberPath = "Key";
wheelComboBox.SelectedValuePath = "Value";
priceFromTB.Text = "0";
priceToTB.Text = "100000000000";
powerFromTB.Text = "0";
powerToTB.Text = "1000";
}