2

私のアプリケーションは通貨で多くの作業を行うため、各通貨を表すために、国旗であるリソースとして私が持っている 80 ~ 90 の .ICO ファイルを頻繁に使用します。ほとんどの画面はこれらを使用しており、特に IMG タグを持つデータテンプレートを使用すると、GUI がフリーズしたり、これらを ListView などにロードするときに非常にパフォーマンスが低下したりすることを考えると、使用するたびにそれらをリロードし続けるのは無駄に思えます。

これらの画像が参照されるたびに、既にキャッシュされてグローバルに読み込まれるように、これらの画像を WPF アプリケーション空間に事前に読み込むことができるように、WPF で推奨される方法または設計はありますか?それ以降のすべての使用は超高速ですか?

ありがとう

4

1 に答える 1

0

xaml の Application.Resources に配置することをお勧めします。

これらは一度だけ読み込まれ、アプリのどこからでもアクセスできます。

「方法: msdn でアプリケーション リソースを使用する」を参照してください。

EDIT: アイテムもバインドするクラス(を含むクラスIconSelect)では、追加のプロパティを追加する必要があります。

public BitmapImage BitmapIconSelect
{
    get
    {
        return Application.Resources[IconSelect];
    }
}

次に、このプロパティにバインドします。

<Image Source="{Binding BitmapIconSelect, IsAsync=True, Mode=OneWay}" Width="20" Height="20" />

このコードはフリーハンドで書いたので、コンパイルできるかどうかはわかりませんが、私の主張を理解していただければ幸いです。

于 2012-08-30T09:57:25.200 に答える