Высота окна TaskDialog неверна, если указан значок
РЕДАКТИРОВАТЬ:
Я исправил исходники Code Pack и загрузил обновленный пакет NuGet:
https://www.nuget.org/packages/WindowsAPICodePack-Shell/
Спасибо dmex за исправление ошибки: http://archive.msdn.microsoft.com/WindowsAPICodePack/WorkItem/View.aspx?WorkItemId=108
Как видите, проблема исправлена и нет необходимости использовать громоздкий синтаксис Opened
событие:
При указании иконки высота диалога неверна; последняя ссылка на команду не совсем видна:
У вас есть идея, как решить эту проблему?
Код, используемый для отображения этого диалога:
var dialog = new TaskDialog
{
Caption = Title,
InstructionText = "Some files added are already in the collection.",
Text = "They have been skipped."
};
dialog.Opened += (s1, e1) => { dialog.Icon = TaskDialogStandardIcon.Warning; };
var linkContinue = new TaskDialogCommandLink("Continue", "Continue", string.Empty);
linkContinue.Click += (s2, e2) =>
{
var s = (TaskDialogCommandLink)s2;
var taskDialog = (TaskDialog)(s.HostingDialog);
taskDialog.Close();
};
dialog.Controls.Add(linkContinue);
var linkView = new TaskDialogCommandLink("View", "View these files", string.Empty);
linkView.Click += (s3, e3) =>
{
var s = (TaskDialogCommandLink)s3;
var taskDialog = (TaskDialog)(s.HostingDialog);
taskDialog.Close();
var window1 = new Window1 { Text = files, Title = Title };
window1.ShowDialog();
};
dialog.Controls.Add(linkView);
dialog.Show();
1 ответ
Решение
Попробуйте назначить "InstructionText" в.Opend еще раз (похоже, это решает и проблему в 1.1.0.0).
var dialog = new TaskDialog
{
Caption = Title,
InstructionText = "Some files added are already in the collection.",
Text = "They have been skipped."
};
dialog.Opened += (s1, e1) =>
{
dialog.Icon = TaskDialogStandardIcon.Warning;
dialog.InstructionText = dialog.InstructionText; // < seems to work
};