2014-02-22 3 views
0

MSDN 샘플을 사용하여 ListPicker Color Selector를 가져 와서 프로젝트에 추가했습니다. ObservableCollection을 사용하고 있습니다.ListPickerItem 선택

해당하는 코드는 다음과 같습니다

public class ColorSelectModel 
    { 
     public ColorSelectModel(string text, Color color) 
     { 
      this.Text = text; 
      this.Color = color; 
      this.ColorBrush = new SolidColorBrush(color); 
     } 
     public string Text { get; set; } 
     public Color Color { get; set; } 
     public SolidColorBrush ColorBrush { get; set; } 
    } 

그리고 색상로드 : 그래서 사용자가 페이지 1이 listpicker로 이동 1 페이지 매번에이 listpicker을 추가 한

var colors = new List<Collections.ColorSelectModel>(); 
     colors.Add(new Collections.ColorSelectModel("Blue", Colors.Blue)); 
     colors.Add(new Collections.ColorSelectModel("Crimson", Colors.Brown)); 
     colors.Add(new Collections.ColorSelectModel("Cyan", Colors.Cyan)); 
     colors.Add(new Collections.ColorSelectModel("Gray", Colors.DarkGray)); 
     colors.Add(new Collections.ColorSelectModel("Dark Gray", Colors.Gray)); 
     colors.Add(new Collections.ColorSelectModel("Green", Colors.Green)); 
     colors.Add(new Collections.ColorSelectModel("Light Gray", Colors.LightGray)); 
     colors.Add(new Collections.ColorSelectModel("Magenta", Colors.Magenta)); 
     colors.Add(new Collections.ColorSelectModel("Orange", Colors.Orange)); 
     colors.Add(new Collections.ColorSelectModel("Purple", Colors.Purple)); 
     colors.Add(new Collections.ColorSelectModel("Red", Colors.Red)); 
     colors.Add(new Collections.ColorSelectModel("Yellow", Colors.Yellow)); 
     listPickerColor.ItemsSource = listPickerColor.ItemsSource ?? new ObservableCollection<Collections.ColorSelectModel>(colors); 

을 자동으로 첫 번째 값, 즉 파란색을 선택합니다. 이제 다른 페이지에서 사용자가 편집 버튼을 클릭하면 텍스트 상자에 값이있는 페이지 1로 다시 탐색됩니다.

이제 문제는 ListSticker를 IsolatedStorage를 사용하여 읽은 값에 따라 자동으로 항목을 선택하도록 설정하는 방법이 필요하다는 것입니다.

IsolatedStorageFileStream readColor = store.OpenFile("/color.txt", FileMode.Open, FileAccess.Read); 
      using (StreamReader contactcolorx = new StreamReader(readColor)) 
      { 
       var color = contactcolorx.ReadToEnd(); 
      } 

이제 색상이 올바르게 표시됩니다. 하지만 시도 : ListPicker.SelectectedItem = color; and ListPicker.SelectedIndex = color; 어디 SelectedItem 시도했을 때 이름을 읽고 그것을 설정하려고 선택 인덱스 번호를 읽고 그것을 설정하려고하지만 운이 없다.

누구든지 나를 도울 수 있습니까? 감사합니다.

답변

1

당신이 color.txt 파일을 제대로 인덱스를 저장 가정 할 때,이 같은 작업을해야합니다 : 물론

var colorIndexString = contactcolorx.ReadToEnd(); 
var colorIndex = int.Parse(colorIndexString); 
ListPicker.SelectedIndex = colorIndex; 

, ListPicker의 ItemsSource 먼저 채워 주어.

+0

Yeap! 다시 한번 감사드립니다. 그게 문제가 –

+0

일한 내 즐거움이 도움이 될 :) – har07