2016-11-17 3 views
0

私はUserControlを使って、それぞれ1つで~100のCheckBoxスタイルを使用しています。そして、私が試してみると、UserControlがロードされるまでに数秒かかることがあります。私はイメージを使って私のスタイルに追いついてきました。私がコメントアウトすると、すべてうまくいきます。高価なスタティックリソース

イメージを一度に読み込み、そのローカルコピーをスタイルで使用する方法はありますか?あるいは、UserControlのスタイル全体でそれを行うのでしょうか?

これは、あなたが一度のBitmapImageを作成し、それを再利用することができ、スタイル、

<Style x:Key="MyCheckBoxStyle" TargetType="CheckBox"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="CheckBox"> 
       <Grid> 
        <Grid VerticalAlignment="Top"> 
         <Image Source="/Images/Unchecked.png"> 
        </Grid> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

は、あなたがそれACTUAL静的リソース{StaticResourceのXXX}作ってみましたがありますか?また、グリッドのレイアウトは「高価」ですが、なぜ2つの画像に画像が含まれているのですか? – SledgeHammer

+0

私の 'UserControl'sでは、スタイルが入っている辞書をマージしてから' CheckBox ... Style = "{StaticResource MyCheckBoxStyle}" /> ' –

+0

そして、 2つの無意味なグリッドが結果になります。 –

答えて

0

です:

<BitmapImage x:Key="UncheckedBitmap" UriSource="/Images/Unchecked.png"/> 
... 
<Image Source="{StaticResource UncheckedBitmap}"/> 
+0

私はそれを試みましたが、それは何らかの理由でそれをはるかに速くしません。 –

関連する問題