private async void PropertyDialog_Loading(FrameworkElement sender, object args) { if (Item is FileSystemStorageFile) { IncludeArea.Visibility = Visibility.Collapsed; FileName = Item.Name; Path = Item.Path; FileType = $"{Item.DisplayType} ({Item.Type})"; CreateTime = Item.CreationTimeRaw.ToString("F"); ChangeTime = Item.ModifiedTimeRaw.ToString("F"); FileSize = Item.Size + " (" + Item.SizeRaw.ToString("N0") + $" {Globalization.GetString("Device_Capacity_Unit")})"; if (Item is LinkStorageFile LinkItem) { LinkTargetArea.Visibility = Visibility.Visible; ExtraDataArea.Visibility = Visibility.Collapsed; TargetPath = LinkItem.LinkTargetPath; } else { if (await Item.GetStorageItemAsync().ConfigureAwait(true) is StorageFile File) { if (File.ContentType.StartsWith("video", StringComparison.OrdinalIgnoreCase)) { VideoProperties Video = await File.Properties.GetVideoPropertiesAsync(); ExtraData.Text = $"{Globalization.GetString("FileProperty_Resolution")}: {((Video.Width == 0 && Video.Height == 0) ? Globalization.GetString("UnknownText") : $"{Video.Width}×{Video.Height}")}{Environment.NewLine}{Globalization.GetString("FileProperty_Bitrate")}: {(Video.Bitrate == 0 ? Globalization.GetString("UnknownText") : (Video.Bitrate / 1024f < 1024 ? Math.Round(Video.Bitrate / 1024f, 2).ToString("0.00") + " Kbps" : Math.Round(Video.Bitrate / 1048576f, 2).ToString("0.00") + " Mbps"))}{Environment.NewLine}{Globalization.GetString("FileProperty_Duration")}: {ConvertTimsSpanToString(Video.Duration)}";