hand2.cur
C#-WPFアプリケーションで指定されたカスタムカーソルを使用しています。Images
アプリケーションで使用するすべての画像を含むという名前のフォルダーにカーソルを追加しました。ただし、カスタムカーソルを次のように使用するための相対パスを追加できないことに気付きました。
Cursor newCur = new Cursor("Images\\hand2.cur");
window.Cursor = newCur;
だから私はこれを使用しました:
string absolute = System.IO.Path.GetFullPath("hand2.cur");
Cursor newCur = new Cursor(absolute);
window.Cursor = newCur;
これによりhand2.cur
、フォルダ内のファイルが検索され\bin\Release
ます。そこでファイルを追加して、動作させました。
しかし、問題は、Publish
このアプリケーションを別のコンピューターで使用すると、機能しないことです。ここで問題はカーソルファイルのパスにあります。これらの3行をコメント化した後で展開すると、正しく機能するためです。では、この問題を修正するにはどうすればよいですか?
Image
XAMLコードのフォルダーにある他の画像を使用していますが、正常に移植されているようです。ただし、WPFに関する私の知識は限られているため、誰かがアイデアを持っている場合は、それが役立ちます。
編集:プロジェクトに画像フォルダを追加しました。また、カーソルファイルのビルドアクションをに設定しhand2.cur
ましたEmbedded Resource
。ただし、次の2行を使用すると、が表示されますXAMLParseException
。
System.Windows.Resources.StreamResourceInfo info = Application.GetResourceStream(new Uri("pack://application:,,,/Slideshow;component/Images/hand2.cur"));
window.Cursor = new System.Windows.Input.Cursor(info.Stream);
Inner Exception
エラーの詳細を表示したときのフィールドは次のとおりです。{"Cannot locate resource 'images/hand2.cur'."}