HubSectionのDataTemplate定義内のRadioButtonやComboBoxの初期設定2021年04月19日 16:27


Hubで構築した設定画面

Hubで構築した設定パネル。設定のHubSectionにおいて、RadioButtonで設定を指定する。HubSectionは、DataTemplateで定義するので、x:Nameで指定した名前を使っては、RadioButtonなどの初期設定を行えない。

そのため、Bindを用いて、コードの値を反映させるのだが、XAMLの初期化時に、初期値(デフォルトの値)でもってCheckedのイベントが発生し、Bindすべき変数の値を、別の値で上書きしてしまう。RadioButtonのほか、ComboBoxなども同様。

ここは、Checkedのイベントの発生を、本来設定したい値をBindしてからにしたいところ。

XAML定義

巷の記事では、XAMLのTreeをたどって初期設定する力業なども紹介されているが、個々のコントロールのLoadedイベントを受けての処理で対処できそう(L.111)。

イベントハンドラ

RadioButtonのLoadedイベントを受けるコードで、IsCheckedを設定して、roamingSettingsなどから読み取った値を初期値として設定(L.200)。その後、Checkedのイベントが発生するが、先ほど設定した初期値でのイベントなので、別の値で上書きされない。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2021/04/19/9368853/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。