2016-11-17 112 views
0

我有一個CheckBox風格,我使用多個UserControl s,約100每個。然後,當我嘗試使用這些UserControl時,可能需要幾秒鐘才能加載。我使用圖像追蹤到了我的風格,因爲當我將它評論出來時,一切正常。昂貴的StaticResource

有沒有辦法一次加載圖像,然後在樣式中使用該本地副本?或者可以在UserControl的每一箇中使用整個樣式來完成這個工作?

這是風格,

<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

你試過使其成爲一個實際的靜態資源的StaticResource {} XXX?此外網格佈局是「昂貴的」,爲什麼有兩個只包含一個圖像? – SledgeHammer

+0

在我的'UserControl's中,我合併了樣式所在的字典,然後執行該操作,'' –

+0

我編輯了一些東西,無論如何,2個無意義的網格就是結果。 –

回答

0

你可以一次創建一個BitmapImage的和重複使用它:

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

我嘗試過,但由於某些原因,速度並不快。 –