2011-08-24 3 views
2

自分のアプリケーションに追加したアイコンがあります。それは提示される最初のウィンドウに現れます。新しいウィンドウを表示して、私のウィンドウにWPFのWindowsアイコンプロパティ、マークアップ拡張が必要ですか?

Icon="ApplicationIcon.ico" 

を使用するとクラッシュします。私はその行を削除すると、私のコードは正常に動作します。私はWindowsが提供するデフォルトのアイコンを取り除こうとしています。私のアプリケーションが使用しているアイコンを使用します。私はパスをダブルチェックしましたが、動作しません。私はエラーを取得する:

Xaml parse exception occurred: 'Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception.' Line number '7' and line position '9'.

Inner Exception: {"Cannot locate resource 'views/applicationicon.ico'."} 
System.IO.IOException: {"Cannot locate resource 'views/applicationicon.ico'."} 
+0

デバッガで内部の例外を調べ、同様に投稿してください。 –

+1

Windows XPを使用していますか?もしそうなら、Windows Vista/7用にフォーマットしようとしているアイコン(つまり、解像度が48pxより高い) – CodingGorilla

+0

Windows 7を使用しています – Crystal

答えて

0

パスは相対的であり、他の場所にある窓は、それが動作しませんのために、あなたはそれが絶対pack notationを使用して作ることができます:

Icon="pack://application:,,,/ApplicationIcon.ico" 
1

あなたは間違ってアプリケーションアイコンを使用しているように思えます。これはWPFアプリケーションなので、ワークスペースにWPFプロジェクトが必要です。そのプロジェクトのプロパティを選択し、[アプリケーション]に移動します。リソースの下では、アイコンの相対的な場所を選択することができ、デフォルトのWPFアプリアイコンに置き換わります。アプリケーションがデバッグモードで実行されている場合、アイコンは通常表示されません。表示させるには、アプリをデバッグせずに、またはリリースモードで実行する必要があります。

0

ここで野生の推測をして、他のウィンドウがメインウィンドウと同じフォルダにないと言うつもりです。その場合は、"..\ApplicationIcon.ico"のようなものを".."と追加します。

1

使用単一のファイルを使用すると、次のように設定することにより、ソリューション内のウィンドウをWPFすべてのために........

アイコン= "パック://アプリケーション:,,,/ReferenceAssemblyname;コンポーネント/ Subfoldername/filename.ico"

0

私はこれと同じ問題がありました。私は、アイコンのビルドアクションを 'Content'に設定し、[Copy to Output Directory]オプションを 'Copy always'に設定しました。それは魅力的でした。

関連する問題