#c# #windows-phone-7 #radio-button
#c# #windows-phone-7 #переключатель
Вопрос:
Я разрабатываю приложение для Windows phone. У меня есть страница настроек, которая постоянно загружается со значением по умолчанию. Я использовал PhoneApplicationService
свойство для сохранения имени переключателей, которые были проверены, чтобы сохранить значение, которое будет использоваться в следующий раз.
В классе конструктора страницы настроек, как я должен кодировать для инициализации с именем переключателей, которые сохраняются в PhoneApplicationService
<RadioButton Content="Black" Name="ic_black" GroupName="gColor" Click="icChange" />
<RadioButton Content="Blue" GroupName="gColor" Name="ic_blue" Click="icChange" />
<RadioButton Content="Brown" GroupName="gColor" Name="ic_brown" Click="icChange" />
<RadioButton Content="Gray" GroupName="gColor" Name="ic_gray" Click="icChange" />
Приведенный выше код является xaml для страницы настроек. Метод icChange получает имя переключателя и сохраняет его в PhoneApplicationService.State["color"]
{
InitializeComponent();
object prefs;
string temp;
if (prefs.State.TryGetValue("color", out prefs))
{
temp = prefs.ToString();
//the name of the radio button to be checked is the variable temp..
//code to initialize the correct radio button from prefs
}
}
Ответ №1:
Я бы предложил что-то вроде следующего, даже если это не самое лучшее:
temp = prefs.ToString();
if(ic_black.Name == temp) ic_black.IsChecked = true;
else if(ic_blue.Name == temp) ic_blue.IsChecked = true;
else if(ic_brown.Name == temp) ic_brown.IsChecked = true;
else if(ic_gray.Name == temp) ic_gray.IsChecked = true;
else //Do the default case