XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

SpaceEngineersModDev/SpaceEngineersBlueprintEditorInWinUI

完善蓝图查看 完成蓝图预览页到编辑页的传递

41c4b63
XFE工作室室长 <mail@xfegzs.com>
提交于

代码差异

15 个文件 +230 -51
Modified SpaceEngineersBlueprintEditor/Implements/Services/NavigationViewService.cs +1 -1
@@ -63,7 +63,7 @@ internal class NavigationViewService : GlobalServiceBase, INavigationViewService
63 63 if (item.GetNavigateTo() is string pageName && pageName == pageType.FullName)
64 64 {
65 65 var itemParameter = item.GetNavigationParameter();
66 if (parameter is string && Equals(parameter, itemParameter) || parameter == itemParameter)
66 if (parameter is string && Equals(parameter, itemParameter) || parameter == itemParameter || itemParameter is null)
67 67 return item;
68 68 }
69 69 var selectedChild = GetSelectedItem(item.MenuItems, pageType, parameter);
Added SpaceEngineersBlueprintEditor/Model/CubeGridInfo.cs +3 -0
@@ -0,0 +1,3 @@
1 namespace SpaceEngineersBlueprintEditor.Model;
2
3 public record class CubeGridInfo(string GridName, string CubeInGridCount) { }
Modified SpaceEngineersBlueprintEditor/SpaceEngineersBlueprintEditor.csproj +3 -3
@@ -41,12 +41,12 @@
41 41 </ItemGroup>
42 42 <ItemGroup>
43 43 <PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
44 <PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.1.240916" />
44 <PackageReference Include="CommunityToolkit.WinUI.Controls.SettingsControls" Version="8.2.241112-preview1" />
45 45 <PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" />
46 46 <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.6.240923002" />
47 47 <PackageReference Include="WinUIEx" Version="2.4.2" />
48 <PackageReference Include="XFEExtension.NetCore" Version="3.1.4" />
49 <PackageReference Include="XFEExtension.NetCore.AutoConfig" Version="1.1.1" />
48 <PackageReference Include="XFEExtension.NetCore" Version="3.2.0" />
49 <PackageReference Include="XFEExtension.NetCore.AutoConfig" Version="1.3.0" />
50 50 <PackageReference Include="XFEExtension.NetCore.AutoPath" Version="1.0.1" />
51 51 <PackageReference Include="XFEExtension.NetCore.TodoHighLight" Version="1.0.0" />
52 52 </ItemGroup>
Modified SpaceEngineersBlueprintEditor/Utilities/Helpers/Extensions.cs +3 -0
@@ -1,9 +1,12 @@
1 1 using Microsoft.UI.Xaml.Media.Imaging;
2 using Microsoft.Windows.ApplicationModel.Resources;
2 3 using SpaceEngineersBlueprintEditor.Model;
3 4
4 5 namespace SpaceEngineersBlueprintEditor.Utilities.Helpers;
5 6
6 7 public static class Extensions
7 8 {
9 private static readonly ResourceLoader _resourceLoader = new();
10 public static string GetLocalized(this string resourceKey) => _resourceLoader.GetString(resourceKey);
8 11 public static BlueprintInfoViewData ToBlueprintInfoViewData(this BlueprintInfo blueprintInfo) => new(new BitmapImage(blueprintInfo.HasImage ? new(blueprintInfo.ImagePath) : new Uri("ms-appx:///Assets/Images/BlueprintDrag.png", UriKind.RelativeOrAbsolute)), !blueprintInfo.HasBlueprint, blueprintInfo.Name, blueprintInfo.FileSize, blueprintInfo.BlueprintPath);
9 12 }
Deleted SpaceEngineersBlueprintEditor/Utilities/Helpers/ResourceExtensions.cs +0 -9
@@ -1,9 +0,0 @@
1 using Microsoft.Windows.ApplicationModel.Resources;
2
3 namespace SpaceEngineersBlueprintEditor.Utilities.Helpers;
4
5 public static class ResourceExtensions
6 {
7 private static readonly ResourceLoader _resourceLoader = new();
8 public static string GetLocalized(this string resourceKey) => _resourceLoader.GetString(resourceKey);
9 }
Added SpaceEngineersBlueprintEditor/Utilities/Helpers/SpaceEngineersHelper.cs +13 -0
@@ -0,0 +1,13 @@
1 using Sandbox.Definitions;
2 using VRage.Collections;
3 using VRage.Game;
4
5 namespace SpaceEngineersBlueprintEditor.Utilities.Helpers;
6
7 public static class SpaceEngineersHelper
8 {
9 public static DictionaryValuesReader<MyDefinitionId, MyDefinitionBase> AllDefinitions => MyDefinitionManager.Static.GetAllDefinitions();
10 public static IEnumerable<MyCubeBlockDefinition> CubeBlockDefinitions => AllDefinitions.Where(definition => definition is MyCubeBlockDefinition).Cast<MyCubeBlockDefinition>();
11 public static IEnumerable<MyComponentDefinition> ComponentDefinitions => AllDefinitions.Where(definition => definition is MyComponentDefinition).Cast<MyComponentDefinition>();
12 public static IEnumerable<MyPhysicalItemDefinition> ItemDefinitions => AllDefinitions.Where(definition => definition is MyPhysicalItemDefinition).Cast<MyPhysicalItemDefinition>();
13 }
Modified SpaceEngineersBlueprintEditor/ViewModels/AppShellPageViewModel.cs +1 -4
@@ -17,8 +17,5 @@ public partial class AppShellPageViewModel : ViewModelBase
17 17
18 18 public AppShellPageViewModel() => NavigationViewService.NavigationService.Navigated += NavigationService_Navigated;
19 19
20 private void NavigationService_Navigated(object? sender, NavigationEventArgs e)
21 {
22 CanGoBack = NavigationViewService.NavigationService.CanGoBack;
23 }
20 private void NavigationService_Navigated(object? sender, NavigationEventArgs e) => CanGoBack = NavigationViewService.NavigationService.CanGoBack;
24 21 }
Added SpaceEngineersBlueprintEditor/ViewModels/AsyncViewModelBase.cs +10 -0
@@ -0,0 +1,10 @@
1 using CommunityToolkit.Mvvm.ComponentModel;
2 using Microsoft.UI.Dispatching;
3
4 namespace SpaceEngineersBlueprintEditor.ViewModels;
5
6 public abstract class AsyncViewModelBase(DispatcherQueue dispatcherQueue) : ObservableObject
7 {
8 protected DispatcherQueue _dispatcherQueue = dispatcherQueue;
9 protected void OnPropertyChangedAsync(string? propertyName = null) => _dispatcherQueue.TryEnqueue(() => OnPropertyChanged(propertyName));
10 }
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintDetailPageViewModel.cs +108 -6
@@ -1,22 +1,124 @@
1 using SpaceEngineersBlueprintEditor.Implements.Services;
1 using CommunityToolkit.Mvvm.ComponentModel;
2 using CommunityToolkit.Mvvm.Input;
3 using Microsoft.UI.Xaml.Media;
4 using Sandbox.Definitions;
5 using SpaceEngineersBlueprintEditor.Implements.Services;
2 6 using SpaceEngineersBlueprintEditor.Interface.Services;
3 7 using SpaceEngineersBlueprintEditor.Model;
8 using SpaceEngineersBlueprintEditor.SpaceEngineersCore;
4 9 using SpaceEngineersBlueprintEditor.Utilities;
10 using SpaceEngineersBlueprintEditor.Views;
11 using System.Collections.ObjectModel;
12 using VRage.Game;
5 13
6 14 namespace SpaceEngineersBlueprintEditor.ViewModels;
7 15
8 16 public partial class BlueprintDetailPageViewModel : ViewModelBase
9 17 {
18 [ObservableProperty]
19 private string authorName = "蓝图作者:加载中...";
20 [ObservableProperty]
21 private string blueprintFileSize = "蓝图大小:加载中...";
22 [ObservableProperty]
23 private string blueprintPath = "蓝图路径:加载中...";
24 [ObservableProperty]
25 private string isBlueprintDestructible = "是否可被破坏:加载中...";
26 [ObservableProperty]
27 private string isBlueprintEditable = "是否可在游戏内编辑:加载中...";
28 [ObservableProperty]
29 private string totalGridNumber = "网格总数:加载中...";
30 [ObservableProperty]
31 private string totalCubeNumber = "方块总数:加载中...";
32 [ObservableProperty]
33 private bool isProgressRingVisible = true;
34 private BlueprintInfoViewData? currentBlueprintInfoViewData;
35 private MyObjectBuilder_Definitions? currentDefinitions;
36 private MyObjectBuilder_ShipBlueprintDefinition? currentBlueprint;
10 37 private readonly INavigationViewService? navigationViewService = GlobalServiceManager.GetService<INavigationViewService>();
38 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
39 public ObservableCollection<string> DLCList { get; } = [];
40 public ObservableCollection<CubeGridInfo> CubeGridList { get; } = [];
11 41 public IBackgroundImageService? BackgroundImageService { get; set; } = GlobalServiceManager.GetService<IBackgroundImageService>();
12 42 public INavigationParameterService<BlueprintInfoViewData> NavigationParameterService { get; set; } = new NavigationParameterService<BlueprintInfoViewData>();
13 public BlueprintDetailPageViewModel()
14 {
15 NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
16 }
43 public BlueprintDetailPageViewModel() => NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
17 44
18 private void NavigationParameterService_ParameterChange(object? sender, BlueprintInfoViewData e)
45 private async void NavigationParameterService_ParameterChange(object? sender, BlueprintInfoViewData e)
19 46 {
47 if (currentBlueprintInfoViewData == e) return;
48 AuthorName = "蓝图作者:加载中...";
49 BlueprintFileSize = "蓝图大小:加载中...";
50 BlueprintPath = "蓝图路径:加载中...";
51 IsBlueprintDestructible = "是否可被破坏:加载中...";
52 IsBlueprintEditable = "是否可在游戏内编辑:加载中...";
53 TotalGridNumber = "网格总数:加载中...";
54 TotalCubeNumber = "方块总数:加载中...";
55 DLCList.Clear();
56 CubeGridList.Clear();
57 IsProgressRingVisible = true;
20 58 if (navigationViewService is not null) navigationViewService.Header = e.Name;
59 currentBlueprintInfoViewData = e;
60 if (e.NoBlueprint)
61 {
62 messageService?.ShowMessage("该蓝图不包含蓝图文件(bp.sbc)", "警告", InfoBarSeverity.Warning);
63 BlueprintFileSize = $"蓝图大小:{currentBlueprintInfoViewData.FileSize}";
64 BlueprintPath = $"蓝图路径:{currentBlueprintInfoViewData.FilePath}";
65 IsProgressRingVisible = false;
66 return;
67 }
68 await Task.Delay(100);
69 await Task.Run(() =>
70 {
71 currentDefinitions = SpaceEngineerDefinitions.Load<MyObjectBuilder_Definitions>(e.FilePath);
72 if (currentDefinitions is not null && currentDefinitions.ShipBlueprints is not null && currentDefinitions.ShipBlueprints.Length > 0)
73 currentBlueprint = currentDefinitions.ShipBlueprints[0];
74 });
75 if (currentBlueprint is not null)
76 {
77 AuthorName = $"蓝图作者:{currentBlueprint.DisplayName}(Steam ID: {currentBlueprint.OwnerSteamId})";
78 BlueprintFileSize = $"蓝图大小:{currentBlueprintInfoViewData.FileSize}";
79 BlueprintPath = $"蓝图路径:{currentBlueprintInfoViewData.FilePath}";
80 IsBlueprintDestructible = $"是否可被破坏:{(currentBlueprint.CubeGrids.Any(grid => !grid.DestructibleBlocks) ? currentBlueprint.CubeGrids.Any(grid => grid.DestructibleBlocks) ? "部分可被破坏" : "整体不可破坏" : "可被破坏")}";
81 IsBlueprintEditable = $"是否可在游戏内编辑:{(currentBlueprint.CubeGrids.Any(grid => !grid.Editable) ? currentBlueprint.CubeGrids.Any(grid => grid.Editable) ? "部分可编辑" : "整体不可编辑" : "可编辑")}";
82 if (currentBlueprint.DLCs is not null)
83 {
84 foreach (var dlc in currentBlueprint.DLCs)
85 if (dlc is not null)
86 DLCList.Add(dlc);
87 }
88 else
89 {
90 DLCList.Add("无DLC");
91 }
92 if (currentBlueprint.CubeGrids is not null)
93 {
94 int totalCubeCount = 0;
95 foreach (var grid in currentBlueprint.CubeGrids)
96 if (grid is not null)
97 {
98 totalCubeCount += grid.CubeBlocks.Count;
99 CubeGridList.Add(new($"网格名称:{grid.DisplayName}", $"方块数量:{grid.CubeBlocks.Count}"));
100 }
101 TotalCubeNumber = $"方块总数:{totalCubeCount}";
102 TotalGridNumber = $"网格总数:{currentBlueprint.CubeGrids.Length}";
103 }
104 else if (currentBlueprint.CubeGrid is not null)
105 {
106 CubeGridList.Add(new($"网格名称:{currentBlueprint.CubeGrid.DisplayName}", $"方块数量:{currentBlueprint.CubeGrid.CubeBlocks.Count}"));
107 }
108 else
109 {
110 CubeGridList.Add(new("未找到网格", "方块数量:无"));
111 }
112 IsProgressRingVisible = false;
113 messageService?.ShowMessage("蓝图加载完成", "完成", InfoBarSeverity.Success);
114 }
115 else
116 {
117 IsProgressRingVisible = false;
118 messageService?.ShowMessage("未能加载蓝图", "错误", InfoBarSeverity.Error);
119 }
21 120 }
121
122 [RelayCommand]
123 void GoToEditorPage() => navigationViewService?.NavigateTo(typeof(BlueprintEditPage), currentDefinitions);
22 124 }
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintEditPageViewModel.cs +24 -9
@@ -1,20 +1,35 @@
1 1 using SpaceEngineersBlueprintEditor.Implements.Services;
2 2 using SpaceEngineersBlueprintEditor.Interface.Services;
3 using SpaceEngineersBlueprintEditor.Model;
3 using SpaceEngineersBlueprintEditor.Utilities;
4 using VRage.Game;
4 5
5 6 namespace SpaceEngineersBlueprintEditor.ViewModels;
6 7
7 8 public partial class BlueprintEditPageViewModel : ViewModelBase
8 9 {
9 public INavigationParameterService<BlueprintInfoViewData> NavigationParameterService { get; set; } = new NavigationParameterService<BlueprintInfoViewData>();
10 private MyObjectBuilder_Definitions? currentDefinitions;
11 private MyObjectBuilder_ShipBlueprintDefinition? currentShipBlueprint;
12 private readonly IMessageService? messageService = GlobalServiceManager.GetService<IMessageService>();
13 public INavigationParameterService<MyObjectBuilder_Definitions> NavigationParameterService { get; set; } = new NavigationParameterService<MyObjectBuilder_Definitions>();
14 public BlueprintEditPageViewModel() => NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
10 15
11 public BlueprintEditPageViewModel()
16 private void NavigationParameterService_ParameterChange(object? sender, MyObjectBuilder_Definitions e)
12 17 {
13 NavigationParameterService.ParameterChange += NavigationParameterService_ParameterChange;
14 }
15
16 private void NavigationParameterService_ParameterChange(object? sender, BlueprintInfoViewData e)
17 {
18
18 if (currentDefinitions is not null)
19 {
20 currentDefinitions = e;
21 if (currentDefinitions.ShipBlueprints is not null && currentDefinitions.ShipBlueprints.Length > 0)
22 {
23 currentShipBlueprint = currentDefinitions.ShipBlueprints[0];
24 }
25 else
26 {
27 messageService?.ShowMessage("未能飞船蓝图定义", "错误", InfoBarSeverity.Error);
28 }
29 }
30 else
31 {
32 messageService?.ShowMessage("未能找到蓝图定义", "错误", InfoBarSeverity.Error);
33 }
19 34 }
20 35 }
Modified SpaceEngineersBlueprintEditor/ViewModels/BlueprintsViewPageViewModel.cs +5 -0
@@ -85,7 +85,10 @@ public partial class BlueprintsViewPageViewModel : ViewModelBase
85 85 void OpenFolder()
86 86 {
87 87 if (currentBlueprintInfoViewData is not null && Path.GetDirectoryName(currentBlueprintInfoViewData.FilePath) is string path)
88 {
88 89 Process.Start("explorer.exe", path);
90 BlueprintsViewPage.Current?.commandBarFlyout.Hide();
91 }
89 92 }
90 93
91 94 [RelayCommand]
@@ -96,6 +99,7 @@ public partial class BlueprintsViewPageViewModel : ViewModelBase
96 99 var targetPath = $@"{Path.GetDirectoryName(path)}\{CopyFolderText}";
97 100 FileHelper.CopyDirectory(path, targetPath);
98 101 messageService?.ShowMessage($"已复制至:{targetPath}", "完成", InfoBarSeverity.Success);
102 BlueprintsViewPage.Current?.commandBarFlyout.Hide();
99 103 await RefreshBlueprints();
100 104 }
101 105 }
@@ -107,6 +111,7 @@ public partial class BlueprintsViewPageViewModel : ViewModelBase
107 111 {
108 112 Directory.Delete(path, true);
109 113 messageService?.ShowMessage($"已删除:{path}", "完成", InfoBarSeverity.Success);
114 BlueprintsViewPage.Current?.commandBarFlyout.Hide();
110 115 await RefreshBlueprints();
111 116 }
112 117 }
Modified SpaceEngineersBlueprintEditor/Views/BlueprintDetailPage.xaml +52 -11
@@ -4,25 +4,66 @@
4 4 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
5 5 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
6 6 xmlns:local="using:SpaceEngineersBlueprintEditor.Views"
7 xmlns:model="using:SpaceEngineersBlueprintEditor.Model"
7 8 xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
8 9 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
9 10 mc:Ignorable="d">
10 11
11 12 <Grid>
12 <Grid>
13
13 <Grid Canvas.ZIndex="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Visibility="{x:Bind ViewModel.IsProgressRingVisible, Mode=OneWay}" Background="{ThemeResource SmokeFillColorDefaultBrush}">
14 <Grid VerticalAlignment="Center" HorizontalAlignment="Center" CornerRadius="15" Padding="100">
15 <Grid.Background>
16 <SolidColorBrush Color="Black" Opacity="0.5"/>
17 </Grid.Background>
18 <StackPanel Spacing="30">
19 <TextBlock Text="Loading Blueprint..." Foreground="White" FontSize="34" VerticalAlignment="Center" HorizontalAlignment="Center"/>
20 <ProgressRing IsActive="True" Width="60" Height="60" VerticalAlignment="Center" HorizontalAlignment="Center"/>
21 </StackPanel>
22 </Grid>
14 23 </Grid>
15 24 <ScrollView Canvas.ZIndex="0">
16 <StackPanel Orientation="Vertical">
17 <Grid HorizontalAlignment="Left" VerticalAlignment="Top" ColumnDefinitions="350, *" ColumnSpacing="20" RowDefinitions="*, *, *, *, *, *" RowSpacing="20">
18 <Image x:Name="detailPreviewImage" Grid.RowSpan="6" Source="{x:Bind Parameter.BlueprintImage}" Width="350" Stretch="Uniform"/>
19 <TextBlock Grid.Column="1" Grid.Row="0" Text="蓝图基本信息:"/>
20 <!--<TextBlock Grid.Column="1" Grid.Row="1" Text="{x:Bind 蓝图作者:}"/>
21 <TextBlock Grid.Column="1" Grid.Row="4" Text="{x:Bind 蓝图大小}"/>
22 <TextBlock Grid.Column="1" Grid.Row="5" Text="{x:Bind 蓝图位置:}"/>
23 <TextBlock Grid.Column="1" Grid.Row="2" Text="{x:Bind 是否可破坏:}"/>
24 <TextBlock Grid.Column="1" Grid.Row="3" Text="{x:Bind 是否可在游戏内编辑:}"/>-->
25 <StackPanel Orientation="Vertical" Spacing="20">
26 <Grid HorizontalAlignment="Stretch" VerticalAlignment="Top" Height="300" ColumnDefinitions="Auto, *, Auto" ColumnSpacing="20" RowDefinitions="*, *, *, *, *, *">
27 <Image x:Name="detailPreviewImage" Grid.RowSpan="6" Stretch="Uniform"/>
28 <TextBlock Grid.Column="1" Grid.Row="0" IsTextSelectionEnabled="True" TextWrapping="Wrap" Text="蓝图基本信息" Style="{ThemeResource BodyStrongTextBlockStyle}"/>
29 <TextBlock Grid.Column="1" Grid.Row="1" IsTextSelectionEnabled="True" TextWrapping="Wrap" Text="{x:Bind ViewModel.AuthorName, Mode=OneWay}"/>
30 <TextBlock Grid.Column="1" Grid.Row="2" IsTextSelectionEnabled="True" TextWrapping="WrapWholeWords" Text="{x:Bind ViewModel.BlueprintFileSize, Mode=OneWay}"/>
31 <TextBlock Grid.Column="1" Grid.Row="3" IsTextSelectionEnabled="True" TextWrapping="WrapWholeWords" Text="{x:Bind ViewModel.BlueprintPath, Mode=OneWay}"/>
32 <TextBlock Grid.Column="1" Grid.Row="4" IsTextSelectionEnabled="True" TextWrapping="WrapWholeWords" Text="{x:Bind ViewModel.IsBlueprintDestructible, Mode=OneWay}"/>
33 <TextBlock Grid.Column="1" Grid.Row="5" IsTextSelectionEnabled="True" TextWrapping="WrapWholeWords" Text="{x:Bind ViewModel.IsBlueprintEditable, Mode=OneWay}"/>
34 <Button Grid.Column="2" Grid.RowSpan="6" HorizontalAlignment="Right" VerticalAlignment="Top" Command="{x:Bind ViewModel.GoToEditorPageCommand}">
35 <StackPanel Orientation="Horizontal" Spacing="20">
36 <TextBlock Text="Open in editor"/>
37 <FontIcon Glyph="&#xE8A7;"/>
38 </StackPanel>
39 </Button>
25 40 </Grid>
41 <Expander Header="所需DLC列表" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch">
42 <ListView ItemsSource="{x:Bind ViewModel.DLCList, Mode=OneWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"/>
43 </Expander>
44 <Expander HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch">
45 <Expander.Header>
46 <Grid ColumnDefinitions="*, Auto, Auto" ColumnSpacing="20">
47 <TextBlock Text="蓝图网格" HorizontalAlignment="Left"/>
48 <TextBlock Grid.Column="1" Text="{x:Bind ViewModel.TotalGridNumber, Mode=OneWay}"/>
49 <TextBlock Grid.Column="2" Text="{x:Bind ViewModel.TotalCubeNumber, Mode=OneWay}"/>
50 </Grid>
51 </Expander.Header>
52 <ListView ItemsSource="{x:Bind ViewModel.CubeGridList, Mode=OneWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch">
53 <ListView.ItemTemplate>
54 <DataTemplate x:DataType="model:CubeGridInfo">
55 <Grid HorizontalAlignment="Stretch">
56 <Grid.ColumnDefinitions>
57 <ColumnDefinition Width="*"/>
58 <ColumnDefinition Width="Auto" MinWidth="100"/>
59 </Grid.ColumnDefinitions>
60 <TextBlock Text="{x:Bind GridName}" HorizontalAlignment="Left"/>
61 <TextBlock Grid.Column="1" Text="{x:Bind CubeInGridCount}" HorizontalAlignment="Left"/>
62 </Grid>
63 </DataTemplate>
64 </ListView.ItemTemplate>
65 </ListView>
66 </Expander>
26 67 </StackPanel>
27 68 </ScrollView>
28 69 </Grid>
Modified SpaceEngineersBlueprintEditor/Views/BlueprintDetailPage.xaml.cs +2 -2
Modified SpaceEngineersBlueprintEditor/Views/BlueprintEditPage.xaml.cs +3 -4
Modified SpaceEngineersBlueprintEditor/Views/BlueprintsViewPage.xaml +2 -2