.Net Core 3.0 μνν λ²μ νμ
κ°μ¬ν©λλ€ @stricq.
.NET Core 3.0 μ§μμ νμ€ν λͺ©νμ λλ€. RTMμ΄ μΆμ λ νμ μμ μ μμν μ μμΌλ―λ‘ μ¬μ μΆμ λ²μ μ΄ λ§μμ λμ λ€λ©΄ PRμλ°μ μμμ΄ κΈ°μ©λλ€.
μ΄ λ¬Έμ μ λν νμ¬ μνλ 무μμ λκΉ?
μ½κ°μ λ¬Έμ λ‘ WPF νλ‘μ νΈλ₯Ό .NET Coreλ‘ λ§μ΄κ·Έλ μ΄μ νκ³ μμ΅λλ€. Ookii libsλ₯Ό μ΅λν 빨리 λ§μ΄κ·Έλ μ΄μ ν μ μλ€λ©΄ μ’μ κ²μ λλ€.
Core 3.1 νλ‘μ νΈμ κΈ°μ‘΄ νλ μ μν¬ λ²μ μ μ€μΉνκ³ Core 3.1μ΄ μλ 4.8κΉμ§ λ€μν νλ μ μν¬ λ²μ μ μ¬μ©νμ¬ ν¨ν€μ§κ° 볡μλμμΌλ©° λ΄ νλ‘μ νΈμ μμ ν νΈνλμ§ μμ μ μλ€λ μ»΄νμΌλ¬ κ²½κ³ λ₯Ό λ°μμ΅λλ€.
κ·Έλ¬λ λ€μκ³Ό κ°μ μ©λλ‘ μ»΄νμΌλκ³ μλνλ κ² κ°μ΅λλ€.
var dialog = new Ookii.Dialogs.Wpf.VistaFolderBrowserDialog( );
dialog.Description = "choose folder in which to store scripts for this project";
dialog.RootFolder = Environment.SpecialFolder.MyComputer; // not implemented
dialog.ShowNewFolderButton = true;
dialog.UseDescriptionForTitle = true;
bool result = dialog.ShowDialog( this ).GetValueOrDefault( );
Ookii μ½λλ₯Ό μ Core 3.1 νλ‘μ νΈμ νμΌμ λΆμ¬ λ£μΌλ©΄ μ΄λ»κ²λ©λκΉ?
VistaFolderBrowserDialogμμ ꡬν λ RootFolder μμ±μ μ»λ κ²μ΄ μ’μ κ²μ
λλ€.
.NET Core νλ‘μ νΈμμ .NET Framework μ΄μ λΈλ¦¬λ₯Ό μ¬μ©νλ©΄ λ κ°μ§ κ²°κ³Όκ° λ°μν©λλ€.
λ°λΌμ μΌλ°μ μΌλ‘ μ»΄νμΌλ¬ κ²½κ³ λ₯Ό 견λ μ μλ€λ©΄ .NET Core νλ‘μ νΈμμμ΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ κ²μ΄ λ§€μ° μμ ν΄ λ³΄μ λλ€. κ·Έλλ .NET Core λ²μ μ μ»μ μ μκΈ°λ₯Ό λ°λλλ€.
TaskDialog
λ .NET Core 3.1μμ μλνμ§ μμ΅λλ€. κ·Έλ¬λ VistaFolderBrowserDialog
λ° ProgressDialog
μλ λ¬Έμ κ° μμ΅λλ€.
TaskDialog.ShowDialog()
μμ μμΈκ° λ°μνμ΅λλ€.
System.EntryPointNotFoundException
DLL 'comctl32.dll'μμ 'TaskDialogIndirect'λΌλ μ§μ μ μ μ°Ύμ μ μμ΅λλ€.
λλ λν # 7μ μλνμ§λ§ λμΌν κ²°κ³Όλ₯Ό μ»μμ΅λλ€.
OSλ Windows 10 1909μ λλ€.
MainWindow
.ctorμ μλ μ½λλ₯Ό μΆκ°νμμμ€.csharp
TaskDialog taskDialog = new TaskDialog()
{
WindowTitle = "Title",
MainIcon = TaskDialogIcon.Information,
MainInstruction = "test",
Content = "TEST",
ExpandedInformation = "detail"
};
taskDialog.Buttons.Add(new TaskDialogButton(ButtonType.Ok));
taskDialog.ShowDialog();
@ haruby511 λλμ΄ λ¬Έμ κ° μμλ€. νμ§λ§ νλ‘μ νΈμμ μ½κ°μ νΈμ§ λ§ νμνλ―λ‘ λΌμ΄λΈλ¬λ¦¬κ° TaskDialog
μ‘μΈμ€ ν μ μμ΅λλ€.
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
μ£Όμμ μ κ±°νμμμ€.
κ·Έλ¬λ©΄ λ¬Έμ κ° ν΄κ²° λ κ²μ λλ€.
GitHubλ PR # 7μ λ³ν©μΌλ‘μ΄ λ¬Έμ λ₯Ό μλμΌλ‘ μ’ λ£ νμΌλ―λ‘ λ€μ μ½λ λ€. λ€κ°μ€λ μ£Όλ§μ μνν ν¨ν€μ§λ₯Ό μΆμ ν κ³νμ λλ€.
Ookii.Dialogs.Wpf 2.0.0-preview1 μ΄
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0-preview1
μ±μμ ν μ€νΈνκ³ λ°κ²¬ ν λ¬Έμ λ₯Όλ³΄κ³ νμΈμ.
λͺ¨λ μμ μ μν ν @ acemod13 μκ² κ°μ¬λ립λλ€!
.NET 3.1μ μ§μνλ μμ μ μΈ λ²μ μ΄ nuget.org : Ookii.Dialogs.Wpf 2.0.0μ κ²μλμμ΅λλ€.
Install-Package Ookii.Dialogs.Wpf -Version 2.0.0
NB : .NET Core 3.1μ WPF μ±μ Ookii λν μμλ₯Ό μ¬μ©νκΈ° μν΄ μ ν리μΌμ΄μ 맀λνμ€νΈλ₯Ό μ μΈν΄μΌν©λλ€. 맀λνμ€νΈλ .NET Framework μ±μμ μλμΌλ‘ μΆκ°λμμ§λ§ .NET Core 3.1μμλ λ μ΄μ κ·Έλ μ§ μμΌλ―λ‘ κ°λ°μκ° μνν΄μΌνλ μ½κ°μ μΆκ° λ¨κ³κ° μμ΅λλ€. μ΄ μ μ₯μμ README μ λν μμΈν λ΄μ©.
κΈ°μ¬ν΄ μ£Όμ @ acemod13 μκ² λ€μ ν λ² κ°μ¬λ립λλ€!
/ cc @stricq @cheesi @lklauder @hillin @ haruby511 @vpenades @Agagamand @ NateTheGreat714 @andreasgrosche
κ°μ₯ μ μ©ν λκΈ
μ½κ°μ λ¬Έμ λ‘ WPF νλ‘μ νΈλ₯Ό .NET Coreλ‘ λ§μ΄κ·Έλ μ΄μ νκ³ μμ΅λλ€. Ookii libsλ₯Ό μ΅λν 빨리 λ§μ΄κ·Έλ μ΄μ ν μ μλ€λ©΄ μ’μ κ²μ λλ€.