我使用给定的xaml文件在列表框下面有一个复选框。 我的xaml文件:
<ListBox x:Name="notificationSettingsListBox" Grid.Row="1" Margin="20,20,20,20" Background="#e79e38" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="#055cc3" Width="500" Height="200" Margin="30,40,30,20">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding channel_name}" Foreground="White" FontSize="31" TextAlignment="Left" TextWrapping="Wrap" Margin="0,20,10,0" />
<CheckBox x:Name="pushNotiOnCheckBox" Content="Enable Notification" Checked="pushNotiOnCheckBox_Checked" Unchecked="pushNotiOnCheckBox_Unchecked"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
假设在我的列表框中我有5个复选框,用户只需勾选2个复选框。现在,当用户下次午餐时,它将显示之前检查过的这两个复选框的已检查状态。
如何在Windows Phone中使用这些xaml文件实现这一点?
答案 0 :(得分:1)
您可以将所选值存储在设置中。此设置由系统保留,您可以通过启动应用程序来读取值:
代码示例(保存):
var settings = IsolatedStorageSettings.ApplicationSettings;
// txtInput is a TextBox defined in XAML.
if (!settings.Contains("userData"))
{
settings.Add("userData", txtInput.Text);
}
else
{
settings["userData"] = txtInput.Text;
}
settings.Save();
代码示例(读取):
// txtDisplay is a TextBlock defined in XAML.
if (IsolatedStorageSettings.ApplicationSettings.Contains("userData"))
{
txtDisplay.Text = IsolatedStorageSettings.ApplicationSettings["userData"] as string;
}
更多信息:请参阅this msdn article
然后,当您启动应用程序/显示视图时:您只需要检查,在设置中检查了哪些值,然后将CheckBox标记为已选中。当复选框是动态的(不是静态的)时,你最好让ViewModel实现这一点。