none
System.Windows.Inkの入手方法を教えてください RRS feed

  • 質問

  • System.Windows.Inkのクラスを使いたいのですが、このアセンブリは、どうしたら入手できるのでしょうか?

    開発環境は以下の通りです。

    ・Windows XP/7

    ・VisualStudio2010

    ・Microsooft.NET Framework 4.0

    ・Microsoft Tablet PC Platform SDK

    よろしくお願いします。

    2012年12月1日 15:22

回答

すべての返信

  • System.Windows.Inkは名前空間であり、その中に個々のクラスなどが含まれています。具体的に使用したいクラスを選択すると(よくわからないですがとりあえずStrokeクラス

    アセンブリ:  PresentationCore (PresentationCore.dll 内)

    と書かれています。つまりPresentationCoreを参照すればいいです。

    2012年12月2日 0:04
  • ところでTabletPCの"それ系"のクラスは、Tablet PC Platfrom SDKに入ってるMicrosoft.Ink名前空間下のもののはずですが、なにか不都合とかあったんでしょうか。

    System.Windows.InkのはWPFの要素で、Microsoft.Inkのと混ぜて使ったりはできないと思いますが……。

    2012年12月2日 0:44
  • たとえば、System.Windows.Ink 名前空間Strokeの説明で、継承階層のところにアセンブリという項目があり、PresentationCore.dll内と書かれています。つまり、PresentationCore.dllを参照に追加することで使用可能になります。
    PresentationCore.dllは、プロジェクトでWPF関係のテンプレートを選択すると最初から参照されていて、それ以外の場合(Windowsフォームなど)では追加の参照が必要になります。

    しかし、System.Windows.Ink.InkAnalyzerなどのクラスは標準参照されないアセンブリで、Tablet PC SDKをインストールしないと見つかりませんでした。
    その場所はC:\Program Files\Reference Assemblies\Microsoft\Tablet PC\v1.7にありましたので、ここにあるdllを直接参照するとInkAnalyzerなどが見つかりました。

    ちなみに、関係するらしいIALoader.dllは手元の環境ではWindowsSDK6.0A/7.0Aにはありましたが、7.1ではなくなっていました。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)


    • 編集済み gekkaMVP 2012年12月2日 1:10
    2012年12月2日 1:09
  • 返信ありがとうございます。

    VisualStudioでビルドした際に、System.Windows.Ink名前空間のアセンブリが見つからないとエラー出力されたので、Web検索したら、System.Windows.Ink.dllというMicrosoft Tablet PC APIがあるという記事を見つけ、このdllを探していました。

    結局必要だったのは、PresentationCore.dll とわかりました。

    Tablet PC Platfrom SDKに入っているWindowsフォームアプリケーションのサンプルを使って、スタイラスペンのプロパティを取得しようとしていましたが、Honliangさんのおっしゃる通り、単純にPresentationCore.dll を追加すると、Microsoft.Inkと重複するというエラーになりました。

    WPFで定義されているクラスを使いたいので、一からWPFアプリを作ってみます。


    2012年12月2日 14:39