diff --git a/FolderBrowserEx.sln b/FolderBrowserEx.sln
index 5e45ef0..9e986d2 100644
--- a/FolderBrowserEx.sln
+++ b/FolderBrowserEx.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetFrameworkSample", "Sampl
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MVVMBase", "Samples\MVVMBase\MVVMBase.csproj", "{5412C5E7-9EE7-46B6-BA5D-D486F5A3D220}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NetCoreSample", "Samples\NetCoreSample\NetCoreSample.csproj", "{213DD845-38A7-43D5-9C26-48798DBAC52B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -29,6 +31,10 @@ Global
{5412C5E7-9EE7-46B6-BA5D-D486F5A3D220}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5412C5E7-9EE7-46B6-BA5D-D486F5A3D220}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5412C5E7-9EE7-46B6-BA5D-D486F5A3D220}.Release|Any CPU.Build.0 = Release|Any CPU
+ {213DD845-38A7-43D5-9C26-48798DBAC52B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {213DD845-38A7-43D5-9C26-48798DBAC52B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {213DD845-38A7-43D5-9C26-48798DBAC52B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {213DD845-38A7-43D5-9C26-48798DBAC52B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -36,6 +42,7 @@ Global
GlobalSection(NestedProjects) = preSolution
{F722360B-B9B7-4032-AAC9-6F48C2DFD7B5} = {9F6CCACF-0F70-4A65-A691-EF3DBA504C66}
{5412C5E7-9EE7-46B6-BA5D-D486F5A3D220} = {9F6CCACF-0F70-4A65-A691-EF3DBA504C66}
+ {213DD845-38A7-43D5-9C26-48798DBAC52B} = {9F6CCACF-0F70-4A65-A691-EF3DBA504C66}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {5E30DE11-0284-497F-B151-6F08D3A0F46E}
diff --git a/Samples/NetCoreSample/App.xaml b/Samples/NetCoreSample/App.xaml
new file mode 100644
index 0000000..ac67608
--- /dev/null
+++ b/Samples/NetCoreSample/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/Samples/NetCoreSample/App.xaml.cs b/Samples/NetCoreSample/App.xaml.cs
new file mode 100644
index 0000000..5fc86ae
--- /dev/null
+++ b/Samples/NetCoreSample/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace NetCoreSample
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Samples/NetCoreSample/AssemblyInfo.cs b/Samples/NetCoreSample/AssemblyInfo.cs
new file mode 100644
index 0000000..8b5504e
--- /dev/null
+++ b/Samples/NetCoreSample/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/Samples/NetCoreSample/MainWindow.xaml b/Samples/NetCoreSample/MainWindow.xaml
new file mode 100644
index 0000000..45cf0c1
--- /dev/null
+++ b/Samples/NetCoreSample/MainWindow.xaml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Samples/NetCoreSample/MainWindow.xaml.cs b/Samples/NetCoreSample/MainWindow.xaml.cs
new file mode 100644
index 0000000..168f75a
--- /dev/null
+++ b/Samples/NetCoreSample/MainWindow.xaml.cs
@@ -0,0 +1,17 @@
+using FolderBrowserEx;
+using System.Windows;
+
+namespace NetCoreSample
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ DataContext = new MainWindowViewModel(new FolderBrowserDialog());
+ }
+ }
+}
diff --git a/Samples/NetCoreSample/MainWindowViewModel.cs b/Samples/NetCoreSample/MainWindowViewModel.cs
new file mode 100644
index 0000000..7844f43
--- /dev/null
+++ b/Samples/NetCoreSample/MainWindowViewModel.cs
@@ -0,0 +1,42 @@
+using FolderBrowserEx;
+using MVVMBase;
+using System.Windows.Forms;
+using System.Windows.Input;
+
+namespace NetCoreSample
+{
+ public class MainWindowViewModel : ViewModelBase
+ {
+ private readonly IFolderBrowserDialog _folderBrowserDialog;
+ private string _result;
+
+ public MainWindowViewModel(IFolderBrowserDialog folderBrowserDialog)
+ {
+ _folderBrowserDialog = folderBrowserDialog;
+ ShowFolderBrowserCommand = new Command(ShowFolderBrowserCommandExecute, ShowFolderBrowserCommandCanExecute);
+ }
+
+ public ICommand ShowFolderBrowserCommand { get; private set; }
+
+ public string Result
+ {
+ get { return _result; }
+ set { _result = value; OnPropertyChanged(); }
+ }
+
+ private bool ShowFolderBrowserCommandCanExecute()
+ {
+ return true;
+ }
+
+ private void ShowFolderBrowserCommandExecute()
+ {
+ _folderBrowserDialog.Title = "Select a folder";
+ _folderBrowserDialog.InitialFolder = @"C:\";
+ if (_folderBrowserDialog.ShowDialog() == DialogResult.OK)
+ {
+ Result += $"{_folderBrowserDialog.SelectedFolder}\n";
+ }
+ }
+ }
+}
diff --git a/Samples/NetCoreSample/NetCoreSample.csproj b/Samples/NetCoreSample/NetCoreSample.csproj
new file mode 100644
index 0000000..0a547ce
--- /dev/null
+++ b/Samples/NetCoreSample/NetCoreSample.csproj
@@ -0,0 +1,14 @@
+
+
+
+ WinExe
+ netcoreapp3.1
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Samples/NetFrameworkSample/MainWindow.xaml b/Samples/NetFrameworkSample/MainWindow.xaml
index d19de52..ad6f83f 100644
--- a/Samples/NetFrameworkSample/MainWindow.xaml
+++ b/Samples/NetFrameworkSample/MainWindow.xaml
@@ -12,7 +12,7 @@