0

私のWPFアプリケーションでは、ユーザーはGPS座標をDegrees : Minutes : Secondsの形式で入力しています。

したがって、60° 30' 45" は 60° 30.750' と入力されます。

次に、純粋な 10 進数として保存するため、上記の例は 60.5125 として保存されます。

アイデアは、ユーザーが入力を台無しにしないように、3 つの異なるテキストボックスに設定するというものでした。1 つは度用、もう 1 つは分用、もう 1 つは分数秒用です。数字の 1 つが 2 つのテキスト ボックスに分かれているのは少し悪いですが、数字全体を入力する必要がある場合は、すべてのポイントまたはコンマの混乱を恐れて、混乱する可能性があります。

だから私がうまくいくかもしれないと思ったのは IMultiValueConverter でしたが、ここではやっていない MultiBindings でしかうまくいかないようです。

現在、私の解決策は、さまざまなプロパティにバインドし、コード ビハインドですべての計算を行うことですが、小数ビットについてはあまり満足していません。私は 3 つの小数部文字を想定していますが、7 だけを入力して 0.700 を想定しているのに 0.007 を取得する場合は、文字列フォーマット ビットを実行する必要があると考えました。

より良い解決策はありますか?このようなものに MultiValueConverter を使用できますか?

4

2 に答える 2

2

Extended WPF Toolkitのような MaskedTextBox を使用してみてください。

于 2012-04-11T18:01:00.013 に答える
1

Masked TextBoxを使用できます。この実装では、.net クラスであるMaskedTextProviderを使用します。

于 2012-04-11T18:02:09.373 に答える