Bing マップの画鋲を消去してフライアウトを開くと、アプリがクラッシュします。これは、デバッガーに表示されるものです。
textblock は間違いなく null ではありません。XAML で宣言的に定義されています。
文字列のリスト (CurrentlyMappedPhotosets) は null ではありません - ご覧のとおり、文字列が含まれています / カウントは 1 です。
悲鳴を上げるショットの直前のコードは次のとおりです。
int count = App.CurrentlyMappedPhotosets.Count;
ここでnullになる可能性があるのは何ですか?
これが発生する直前に、ClearMap を呼び出します。
private void ClearMap()
{
var mapLayerChildren = from c in DataLayer.Children select c;
var kinderGarten = mapLayerChildren.ToArray();
for (int i = 0; i < kinderGarten.Count(); i++)
{
if (kinderGarten[i] is Pushpin)
{
DataLayer.Children.Remove(kinderGarten[i]);
}
}
CloseInfobox();
App.CurrentlyMappedPhotosets.Clear();
if (null != App.photosetLocationCollection)
{
App.photosetLocationCollection.Clear();
}
appbarbtnClearMap.IsEnabled = false;
UpdateGUI(false);
}
...これは UpdateGUI() を呼び出します:
private void UpdateGUI(bool resizeMap)
{
appbarbtnRenamePhotoset.IsEnabled = App.CurrentlyMappedPhotosets.Count > 0;
if (resizeMap)
{
ResizeMap();
}
}