私はアプリケーションを作成していて、TaskDialogIndirect
関数を使用したかったのですが、大量の P/Invoke などを書きたくなかったので、WinAPICodePack を含めました。ただし、問題が 1 つあります。のコントロールを作成TaskDialog
してダイアログに追加すると、すべて正常に動作します。ただし、Show
メソッドを実行するOverflowException
と、mscorlib が発生します。これを追跡して、いくつかのポインター処理とマーシャリングにたどり着きました。
コードを試してみると、DLLを .NET 3.5 およびインクルード アプリTOO用にコンパイルする必要があることがわかりました。アプリを .NET 4.0 で使用すると、このエラーが発生します...回避策についてのアイデアはありますか?または、このエラーを再現できますか?
もう 1 つの問題は、Icon
プロパティを好きなように設定できることですが、アイコンがまったく表示されません。Opened
アイコンを動的に設定するイベントをセットアップする必要があります...
情報: Windows 8 Pro x64 RTM で Visual Studio 2012 RTM を実行しています。アプリケーションは標準の WPF アプリです。
サンプルコード:
TaskDialog td = new TaskDialog();
td.Cancelable = true;
td.Caption = "Caption";
td.InstructionText = "Instructions";
td.Text = "Text";
TaskDialogCommandLink buttonElevation =
new TaskDialogCommandLink("elevation", "Elevation Required Sample");
buttonElevation.UseElevationIcon = true;
td.Controls.Add(buttonElevation);
td.Show(); // OverflowException occurs here!