private void OpenMod_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog { Filter = _modFileFilter }; dialog.OpenModsRootFolder(); bool?openResult = dialog.ShowDialog(); if (!openResult.HasValue || !openResult.Value) { return; } List <UserAsset> userAssets = ModFileUtils.GetAssetsFromModFilePath(dialog.FileName); if (userAssets.Count == 0) { return; } foreach (AssetTabControl assetTabControl in App.Instance.MainWindow !.AssetTabControls) { foreach (AssetRowControl rowHandler in assetTabControl.RowControls) { AbstractAsset asset = rowHandler.Asset; UserAsset? userAsset = userAssets.Find(a => a.AssetName == asset.AssetName && a.AssetType == asset.AssetType); if (userAsset != null) { asset.ImportValuesFromUserAsset(userAsset); rowHandler.UpdateGui(); } } } }