The error is telling you you're trying to access a value on something that does not contain values. Try something like this instead:
if (!ApplicationData.Current.LocalSettings.Values.ContainsKey("IsThirdLaunchDone"))
{
//MessageDialog Code goes here
ApplicationData.Current.LocalSettings.Values["IsThirdLaunchDone"] = true;
}
Note the use of Values
consistently within the get and set. (instead of Containers
)