データ入力アプリケーションを作成していますが、アプリの「モード」の追加、編集、表示に問題があります。
シナリオ: ウィンドウから、ユーザーが 2 つのコンボ ボックスで項目を選択し、ボタンをクリックします。コンボ ボックスの選択が既存のレコードと一致しない場合、値を挿入する準備が整った新しいレコードでフォームが開きます。選択内容が既存のレコードと一致する場合、このレコードは、フォーム内のすべてのテキスト ボックスを「読み取り専用」モードで開く必要があります。ユーザーが既存のデータを変更したい場合は、フォームの [編集] ボタンをクリックして、テキスト ボックスを [編集可能] に設定します。
私はwpfを初めて使用しますが、私のvbaアプリでは、通常、TabControlのTabItemsをループしてからTabItemsのコントロールをループし、見つかったTextBoxコントロールのIsReadOnlyプロパティを設定するDataModeプロパティとToggleControlsメソッドを持っています「DataMode」プロパティに基づいています。ただし、これがwpfでたどる道なのかどうかは疑問です。
それで、私の質問は、上記のアプローチを使用しますか? その場合、TabItem のコントロールにアクセスするにはどうすればよいですか。これは機能しません: foreach (Control ctrl in MyTabCtrl) { //if Textbox do stuff }
.
これが方法でない場合、誰かが私に方法を教えてもらえますか? テンプレート/スタイルの問題か、何らかの方法でデータを読み取り専用に設定し、TextBox の IsReadOnly プロパティをデータの状態にバインドすることに関係していると思います。編集:ああ、またはそのViewStateManagerのこと。そのすべてについて私はほとんど知りません。