この例では、Prism.WPFを使用します。WPF に TextBox とボタンがあります。
<TextBox Text="{Binding MyDoubleValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<Button Width="200" Command="{Binding SaveParametersCommand}">Save</Button>
および対応するプロパティ:
private double _myDoubleValue;
public double MyDoubleValue
{
get { return _myDoubleValue; }
set { SetProperty(ref _myDoubleValue, value); }
}
正しい double 値が入力されるようにユーザーが値を変更すると、メソッドは実行可能になります。
private DelegateCommand _saveParametersCommand;
public DelegateCommand SaveParametersCommand =>
_saveParametersCommand ?? (_saveParametersCommand
= new DelegateCommand(ExecuteSaveParametersCommand, CanExecuteSaveParametersCommand)
.ObservesProperty(() => MyDoubleValue))
);
void ExecuteSaveParametersCommand(){ /* ... */}
void CanExecuteSaveParametersCommand(){
// How to ensure that a correct double is inserted?
}
double を "." で文字列に変換しようとしました。セパレーターとして をチェックしましstring.IsNullOrEmpty()
たが、これは成功しませんでした。ユーザーが有効な double 値を入力したかどうかを正しく確認するにはどうすればよいですか?