2016-04-20 17 views
1

実行時にユーザーによって変更されたコンボボックスの値を保存し、コンボボックスのデフォルト値として表示する必要があります。次にページが読み込まれます。私は私のUWPアプリケーションのためにこれを求めています。私は、コンボボックスは、以下のようSettings.xamlで定義されています:それは間に残るように、私のSettings.xaml.csで変更されたComboBoxの値を保存し、次にそのページがロードされたときにComboBoxのデフォルト値として表示する方法

<ComboBox Name="CLengthCombo" SelectionChanged="ComboBox_SelectionChanged"> 
      <ComboBoxItem Content="24"/> 
      <ComboBoxItem Content="25"/> 
      <ComboBoxItem Content="26" IsSelected="True"/> 
      <ComboBoxItem Content="27"/> 
</ComboBox> 

を、私が変更されたコンボボックスの値を保存するために「localSettings_CycleLength」という名前のグローバル変数を定義していますアプリケーションが起動します:

Windows.Storage.ApplicationDataContainer localSettings_CycleLength = Windows.Storage.ApplicationData.Current.LocalSettings; 

その後、私は私のSettings.xaml.csのコードの下にあります

public Settings() 
    { 
     this.InitializeComponent(); 
     if (localSettings_CycleLength.Values["CycleLength"] != null) 
     { 
      this.CLengthCombo.SelectedItem = localSettings_CycleLength.Values["CycleLength"]; 
     } 
    } 


private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     var comboBoxItem = e.AddedItems[0] as ComboBoxItem; 
     if (comboBoxItem == null) return; 
     comboBoxItem.IsSelected = true; 
     var content = comboBoxItem.Content as string; 
     if (content != null) 
     { 
      localSettings_CycleLength.Values["CycleLength"] = content; 
     } 
    } 

、上記のコードは、私が必要なものを行っていないと私は理由を知りません。私を助けてくれますか?事前に感謝します!

答えて

2

選択した内容を保存していますComboBoxItem。だから、あなたがこの

if (localSettings_CycleLength.Values.ContainsKey("CycleLength")) 
      { 
       var savedItem = localSettings_CycleLength.Values["CycleLength"]; ; 
       foreach(var item in CLengthCombo.Items) 
       { 
        if((item as ComboBoxItem).Content.Equals(savedItem)) 
        { 
         this.CLengthCombo.SelectedItem = item; 
        } 
       } 
      } 

のように行う必要があり、あなたが26ページをロードするごとに、時間が上書き以前に選択した項目

+0

選択されていますあなたのxaml.Soで<ComboBoxItem Content="26" IsSelected="True"/>を持ってSelectedItem

にコンテンツを割り当てるカントありがとうLovetoCode!それは今完璧に動作します:) – azad

関連する問題