Skip to content

Commit d8e5455

Browse files
Define DataType for each view to solve the trimming issue when publishing
1 parent ae944d0 commit d8e5455

22 files changed

+120
-17
lines changed

Src/FinderOuter/App.xaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,35 @@
11
<Application xmlns="https://github.com/avaloniaui"
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:local="clr-namespace:FinderOuter"
4+
xmlns:vm="clr-namespace:FinderOuter.ViewModels"
5+
xmlns:views="clr-namespace:FinderOuter.Views"
46
x:Class="FinderOuter.App"
57
RequestedThemeVariant="Default">
6-
<Application.DataTemplates>
7-
<local:ViewLocator/>
8-
</Application.DataTemplates>
98

109
<Application.Styles>
1110
<SimpleTheme/>
1211
</Application.Styles>
1312

13+
<Application.DataTemplates>
14+
<DataTemplate DataType="{x:Type vm:AboutViewModel}">
15+
<views:AboutView/>
16+
</DataTemplate>
17+
<DataTemplate DataType="{x:Type vm:MessageBoxViewModel}">
18+
<views:MessageBoxView/>
19+
</DataTemplate>
20+
<DataTemplate DataType="{x:Type vm:KnowledgeBaseViewModel}">
21+
<views:KnowledgeBaseView/>
22+
</DataTemplate>
23+
</Application.DataTemplates>
24+
1425
<Application.Styles>
1526
<Style Selector="Button">
1627
<Setter Property="CornerRadius" Value="5"/>
1728
</Style>
1829

1930
<!--Use Classes="Help" in any Button to change it into a round help button with "?" in it-->
2031
<Style Selector="Button.Help">
21-
<Setter Property="Command" Value="{Binding OpenKBCommand}"/>
32+
<Setter Property="Command" Value="{Binding OpenKBCommand}" x:DataType="vm:ViewModelBase"/>
2233
<Setter Property="CommandParameter" Value="Bitcoin"/>
2334
<Setter Property="CornerRadius" Value="20"/>
2435
<Setter Property="Margin" Value="6,6,5,5"/>

Src/FinderOuter/ViewModels/AboutViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public async void Copy(int i)
5151

5252
// Taken from avalonia source code
5353
// https://github.com/AvaloniaUI/Avalonia/blob/4340831f29c2dda00cfc3993303921272fedfc61/src/Avalonia.Dialogs/AboutAvaloniaDialog.xaml
54-
public static void OpenBrowser(string url)
54+
public void OpenBrowser(string url)
5555
{
5656
if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
5757
{

Src/FinderOuter/ViewModels/MainWindowViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public MainWindowViewModel()
6363
public OptionVmBase SelectedOption
6464
{
6565
get => _selOpt;
66-
private set
66+
set
6767
{
6868
if (value is not null)
6969
{

Src/FinderOuter/ViewModels/MissingBase16ViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ namespace FinderOuter.ViewModels
1818
{
1919
public class MissingBase16ViewModel : OptionVmBase
2020
{
21+
// Makes designer happy!
22+
public MissingBase16ViewModel() : this(new Settings())
23+
{
24+
}
25+
2126
public MissingBase16ViewModel(Settings settings)
2227
{
2328
Result.Settings = settings;

Src/FinderOuter/ViewModels/MissingBase58ViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ namespace FinderOuter.ViewModels
1818
{
1919
public class MissingBase58ViewModel : OptionVmBase
2020
{
21+
// Makes designer happy!
22+
public MissingBase58ViewModel() : this(new Settings())
23+
{
24+
}
25+
2126
public MissingBase58ViewModel(Settings settings)
2227
{
2328
Result.Settings = settings;

Src/FinderOuter/ViewModels/MissingBip32PathViewModel.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public MissingBip32PathViewModel()
2020
{
2121
InputTypeList = ListHelper.GetEnumDescItems<Bip32PathService.SeedType>().ToArray();
2222
WordListsList = Enum.GetValues(typeof(BIP0039.WordLists)).Cast<BIP0039.WordLists>();
23-
CompareInputTypeList = ListHelper.GetEnumDescItems<CompareInputType>(CompareInputType.PrivateKey).ToArray();
23+
CompareInputTypeList = ListHelper.GetEnumDescItems(CompareInputType.PrivateKey).ToArray();
2424

2525
SelectedInputType = InputTypeList.First();
2626
SelectedCompareInputType = CompareInputTypeList.First();
@@ -77,7 +77,7 @@ public bool IsMnemonic
7777
set => this.RaiseAndSetIfChanged(ref _isMn, value);
7878
}
7979

80-
private string _xk;
80+
private string _xk = string.Empty;
8181
public string XKey
8282
{
8383
get => _xk;
@@ -111,7 +111,7 @@ public string XKey
111111
}
112112
}
113113

114-
private string _pass;
114+
private string _pass = string.Empty;
115115
public string PassPhrase
116116
{
117117
get => _pass;

Src/FinderOuter/ViewModels/MissingBip38PassViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ namespace FinderOuter.ViewModels
1818
{
1919
public class MissingBip38PassViewModel : OptionVmBase
2020
{
21+
// Makes designer happy!
22+
public MissingBip38PassViewModel() : this(new Settings())
23+
{
24+
}
25+
2126
public MissingBip38PassViewModel(Settings settings)
2227
{
2328
Result.Settings = settings;

Src/FinderOuter/ViewModels/MissingMiniPrivateKeyViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ namespace FinderOuter.ViewModels
1818
{
1919
public class MissingMiniPrivateKeyViewModel : OptionVmBase
2020
{
21+
// Makes designer happy!
22+
public MissingMiniPrivateKeyViewModel() : this(new Settings())
23+
{
24+
}
25+
2126
public MissingMiniPrivateKeyViewModel(Settings settings)
2227
{
2328
Result.Settings = settings;

Src/FinderOuter/ViewModels/MissingMnemonicPassViewModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ namespace FinderOuter.ViewModels
1717
{
1818
public class MissingMnemonicPassViewModel : OptionVmBase
1919
{
20+
// Makes designer happy!
21+
public MissingMnemonicPassViewModel() : this(new Settings())
22+
{
23+
}
24+
2025
public MissingMnemonicPassViewModel(Settings settings)
2126
{
2227
Result.Settings = settings;

Src/FinderOuter/Views/AboutView.axaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
55
xmlns:vm="clr-namespace:FinderOuter.ViewModels;assembly=FinderOuter"
6+
xmlns:views="clr-namespace:FinderOuter.Views"
67
mc:Ignorable="d" d:DesignWidth="600" d:DesignHeight="400"
8+
x:CompileBindings="True"
9+
x:DataType="vm:AboutViewModel"
710
x:Class="FinderOuter.Views.AboutView"
811
FontFamily="Comic Sans MS" FontSize="16">
912

0 commit comments

Comments
 (0)