Ookii-dialogs-wpf: рдиреЗрдЯ рдХреЛрд░ 3.0 рдкреНрд░реАрд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдЬреБрд▓ре░ 2019  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ookii-dialogs/ookii-dialogs-wpf

рдиреЗрдЯ рдХреЛрд░ 3.0 рдкреНрд░реАрд░рд┐рд▓реАрдЬ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

enhancement help wanted

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХ рдорд╛рдореВрд▓реА рдЯрдХреНрдХрд░, рд╣рдо рдЕрдкрдиреА wpf рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо Ookii libs ASAP рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХреЗрдВред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдзрдиреНрдпрд╡рд╛рдж @stricq

.NET рдХреЛрд░ 3.0 рд╕рдорд░реНрдерди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд▓рдХреНрд╖реНрдп рд╣реИред рдореИрдВ рдЖрд░рдЯреАрдПрдо рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдкрд░рд╡рд╛рд╣ рд╣реИ, рддреЛ рдореБрдЭреЗ рдкреАрдЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

рдПрдХ рдорд╛рдореВрд▓реА рдЯрдХреНрдХрд░, рд╣рдо рдЕрдкрдиреА wpf рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо Ookii libs ASAP рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХреЗрдВред

рдореИрдВрдиреЗ рдХреЛрд░ 3.1 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдореМрдЬреВрджрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдХреЛрд░ 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 рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреЛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:

  1. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓реЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдкреАрдЖрдИ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдпрд╣ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ;
  2. рдпрджрд┐ .NET Framework рдЕрд╕реЗрдВрдмрд▓реА рдХреБрдЫ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ .NET Core рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рд░рдирдЯрд╛рдЗрдо рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рднреА рдирд╣реАрдВ рд╣реИред

рддреЛ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдк рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рд╕рд╣рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕реБрд░рдХреНрд╖рд┐рдд рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

TaskDialog .NET Core 3.1 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди VistaFolderBrowserDialog рдФрд░ ProgressDialog рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдиреАрдЪреЗ рдЕрдкрд╡рд╛рдж TaskDialog.ShowDialog() рд╕реЗ рдлреЗрдВрдХрд╛ рдЧрдпрд╛ред

System.EntryPointNotFoundException
DLL 'comctl32.dll' рдореЗрдВ 'TaskDialogIndirect' рдирд╛рдо рдХрд╛ рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рдвреВрдБрдврдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдеред

рдореИрдВрдиреЗ рднреА # 7 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдоред

рдУрдПрд╕ рд╡рд┐рдВрдбреЛрдЬ 10 1909 рд╣реИред

рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛

  1. рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдореЗрдВ WPF(.NET Core) рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред
  2. рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ 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();
  3. рдмрдирд╛рдПрдБ рдФрд░ рдЪрд▓рд╛рдПрдБред

@ haruby511 рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ рднреА рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдереЛрдбрд╝реЗ рд╕реЗ рд╕рдВрдкрд╛рджрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп TaskDialog рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХреЗред

  1. рдПрдХ рдРрдк рдЬреЛрдбрд╝реЗрдВред
  2. рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдЖрдк рдпрд╣ рдмрд┐рдЯ рджреЗрдЦреЗрдВрдЧреЗ:
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="*"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
    </dependentAssembly>
  </dependency>

рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рди рдХрд░реЗрдВред

  1. рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЧреБрдг рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
  2. "рдПрдкреНрд▓рд┐рдХреЗрд╢рди" рдЯреИрдм рдореЗрдВ, рд╕реВрдЪреА рд╕реЗ рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЪреБрдиреЗрдВред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЧрд┐рдЯрд╣рдм рдиреЗ рдкреАрдЖрд░ #7 рдХреЗ рд╡рд┐рд▓рдп рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдореЗрдВ рдПрдХ рд░рд┐рд▓реАрдЬрд╝-рдкреВрд░реНрд╡ рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдБред

Ookii.Dialogs.Wpf 2.0.0-preview1 nuget.org рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

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

рдПрдирдмреА: .NET рдХреЛрд░ 3.1 рдкрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдРрдкреНрд╕ рдХреЛ рдУрдХреА рдбрд╛рдпрд▓реЙрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрдирд┐рдлреЗрд╕реНрдЯ рдХреЛ .NET Framework рдРрдкреНрд╕ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди .NET Core 3.1 рдХреЗ рд╕рд╛рде рдЕрдм рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрджрдо рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд░реЗрдкреЛ рдХреЗ README рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред


рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП @ acemod13 рдХреЛ рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж!
/рд╕реАрд╕реА @stricq @cheesi @lklauder @hillin @ haruby511 @vpenades @Agagamand @NateTheGreat714 @andreasgrosche

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕