У меня есть свойство типа double, которое связано с текстовым полем (WPF). Когда я потерял фокус с пустым текстовым полем, элемент управления не попадает в заданное свойство. Если я даю корректный ввод, например 10.2, то он попадает в свойство set viewmodel. Есть ли какое-либо решение, чтобы поразить управление над установленным свойством, даже если есть недопустимые данные?
Settings.xaml
<StackPanel Orientation="Horizontal" Margin="10,0,0,10" Height="20">
<TextBlock Text="Minimum Peak Ratio:" Width="145"></TextBlock>
<TextBox Text="{Binding SkylineMinPeakRatio,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Style="{StaticResource InputStyle}">
<i:Interaction.Behaviors>
<Behaviors:TextBoxInputBehavior InputMode="DecimalInput"/>
</i:Interaction.Behaviors>
</TextBox>
<Button x:Name="MinPeakRatioError" Margin="5,0,0,0" Visibility="{Binding MinPeakRatioInfoVisibility,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<Image Source="..\Images\ErrorInfo.jpg"></Image>
<Button.ToolTip>
<ToolTip>
<StackPanel>
<TextBlock FontWeight="Bold" Text="{Binding MinPeakRatioErrMsg}"></TextBlock>
<TextBlock Text="{Binding MinPeakRatioErrMsgDescription}"></TextBlock>
</StackPanel>
</ToolTip>
</Button.ToolTip>
</Button>
</StackPanel>
SettingsViewModel.cs
private double skylineMinPeakRatio
public double SkylineMinPeakRatio
{
get
{
return skylineMinPeakRatio;
}
set
{
skylineMinPeakRatio=value;
OnPropertyChanged("SkylineMinPeakRatio");
}
}