私はこれらの両方を試しました:
comboBoxToHour.SelectedValue = comboBoxToHour.Items.IndexOf("11");
comboBoxToHour.SelectedIndex = comboBoxToHour.Items.IndexOf("11");
...そしてどちらも機能せず、実際、これも機能しません。
comboBoxFromHour.SelectedValue = "11";
...これも:
comboBoxFromHour.SelectedIndex = 12;
...私は本当に奇妙だと思います。
アップデート
私はロスの提案した修正を試しましたが、これで:
if (App.roamingSettings.Values.ContainsKey("FromMonthSection1"))
{
if (comboBoxFromMonth.Items != null)
{
var item = comboBoxFromMonth.Items.FirstOrDefault(p => (p as ComboBoxItem).Content.ToString() == App.roamingSettings.Values["FromMonthSection1"].ToString());
...「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。最後の行に。
更新2
結局のところ、簡単な方法が機能します。これが判明しました:
if (App.roamingSettings.Values.ContainsKey("FromMonthSection1"))
{
if (comboBoxFromMonth != null)
{
var item = comboBoxFromMonth.Items.FirstOrDefault(p => (p as ComboBoxItem).Content.ToString() == App.roamingSettings.Values["FromMonthSection1"].ToString());
if (item != null)
{
comboBoxFromMonth.SelectedItem = item;
}
}
}
...失敗します。「System.NullReferenceExceptionはユーザーコードによって処理されませんでした。HResult=-2147467261メッセージ=オブジェクト参照がオブジェクトのインスタンスに設定されていません。」
...アイテムに割り当てる行。
ただし、これは次のとおりです。
if ((App.roamingSettings.Values.ContainsKey("FromMonthSection1")) &&
(!string.IsNullOrWhiteSpace(App.roamingSettings.Values["FromMonthSection1"].ToString())))
{
comboBoxFromMonth.SelectedItem = App.roamingSettings.Values["FromMonthSection1"].ToString();
}
...動作します。