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)}";