(デフォルトで) 10 進数値を取るテキスト ボックスを含むフォームがあります。残念ながら、ビジネス ルールでは、パーセンテージ値を使用することもできます (実質的に同じで、100 を掛けただけです)。正しい値が db に挿入されるようにするために (たとえば、回答者が 95 を入力した場合、.95 にしたい)、関連する TextBoxes の横にチェックボックスを追加しました。これをユーザーが選択して、値が小数ではなくパーセンテージ。将来の表示、レポートなどのために小数とパーセントの間で値を切り替えるために、IValueConverter を使用しようとしています。
フィールド値を乗算してパーセンテージで表示するコンバーターを作成しましたが、(まだテストはしていませんが) 保存時にその表示値を小数に再変換する必要があります。
私が抱えている問題は、チェックボックスが選択されている場所でのみコンバーターが機能するようにすることです。私のすべての読書から、これを行う最も可能性の高い方法は、チェックボックスの値を IValueConverter のパラメーターとして使用することだと思われますが、これを行う方法がわかりません。
したがって、私の質問は次のとおり です。TextBox の隣にある Checkbox の Checkbox.IsChecked 値を IValueConverter のパラメーターとして使用して、TextBox テキストで変換を行うかどうかを決定するにはどうすればよいですか (または、できるでしょうか)。問題は、変換される TextBox に関連する Checkbox を識別する方法と、その値を IValueConverter のパラメーターとして渡す方法です。
私はここで探してみました: How can I pass a reference to another control as an IValueConverter parameter? 、しかし、それは少し憂鬱になりました。
前もって感謝します。