Как создать пользовательский элемент управления в CommonOpenFileDialog, предоставляемый в WindowsAPICodePack 1.1?

Мне нужно поместить пользовательский пользовательский контроль в CommonOpenFileDialog, предоставляемый в WindowsAPICodePack 1.1. Желаемая цель - когда в диалоговом окне выбран файл с расширением say.xyz, его предварительный просмотр должен отображаться в пользовательском элементе управления, в нем есть элемент управления изображением. У меня есть пользовательский элемент управления, но я не знаю, как разместить пользовательский элемент управления внутри диалога. Если у кого-то есть идея или подсказка, будет отличная помощь.

Фрагмент кода выглядит следующим образом:

private void btnFolder_Click(object sender, RoutedEventArgs e)
{
 CommonOpenFileDialog dialog = new CommonOpenFileDialog();
 dialog.EnsureReadOnly = true;
 dialog.IsFolderPicker = true;
 dialog.AllowNonFileSystemItems = true;
 Currentdialog = dialog;

 ShellContainer selectedSO = null; 

  AddOpenFileDialogCustomControls(dialog);
        if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
        {
            selectedSO = Currentdialog.FileAsShellObject as ShellContainer;
            currentItem = selectedSO.ParsingName;
        }
}

 private void AddOpenFileDialogCustomControls(CommonOpenFileDialog dialog)
 {
    CommonFileDialogButton previewBtn = new CommonFileDialogButton("Preview");
        previewBtn.Click += PreviewClick;
        dialog.Controls.Add(previewBtn);
       previewBtn = new CommonFileDialogButton("Preview");
   }

private void PreviewClick(object sender, EventArgs e)
    {
        ShellContainer selectedSO = null;
        try
        {
            // Try to get a valid selected item
            // selectedSO = Currentdialog.FileAsShellObject as ShellContainer;
            //  currentItem = selectedSO.ParsingName;
            ShellFile shellFile = 
      ShellFile.FromFilePath(Currentdialog.FileName);

    // how to place the custom usercontrol here and display the selected file in it ?

        }
        catch
        {
            MessageBox.Show("Could not create a ShellObject from the selected item");
        }
    }

0 ответов

Другие вопросы по тегам