2010-07-08 76 views
1

在我的SL4應用程序中,我有一個名爲Images的類,它具有兩個屬性(ImagePath,ImageName)和一個方法getImages(),它重新構建所有Images的ObservableCollection列表。 我需要在我的頁面上創建一個資源,這樣當DataTemplate動態加載時,它可以在其ComboBox字段之一中訪問圖像。Silverlight 4和Page.Resources綁定

我該怎麼做?

<Page.Resources> 
<local:Images x:Key="MyImages"/> 
</Page.Resources> 

但在隱藏文件我的代碼不能訪問MyImages

+0

歡迎來到SO,請花幾分鐘時間閱讀常見問題解答和Markdown文檔(在編輯問題時可以在右邊找到有用的synposis)。 – AnthonyWJones 2010-07-08 10:37:13

+0

請詳細說明術語「DataTemplate動態加載」? – AnthonyWJones 2010-07-08 10:39:15

回答

0

你有3個選擇

1.使用全球應用程序的資源文件。

<Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="Assets/StylesA.xaml"/> 
       <ResourceDictionary Source="Assets/StylesB.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
    </Application.Resources> 

並在StylesA.xaml你只是把風格來使用

<StackPanel> 
      <StackPanel.Resources> 
       <Style x:Key="HeaderStyle" TargetType="TextBlock"> 
        <Setter Property="FontWeight" Value="Bold"></Setter> 
        <Setter Property="FontSize" Value="12"></Setter> 
       </Style> 
      </StackPanel.Resources>    
      <TextBlock Style="{StaticResource HeaderStyle}"></TextBlock> .... 

2.使用本地控制資源部分。

<StackPanel> 
      <StackPanel.Resources> 
       <Style x:Key="HeaderStyle" TargetType="TextBlock"> 
        <Setter Property="FontWeight" Value="Bold"></Setter> 
        <Setter Property="FontSize" Value="12"></Setter> 
       </Style> 
      </StackPanel.Resources>    
      <TextBlock Style="{StaticResource HeaderStyle}"></TextBlock> .... 

3.只要使用Page.Resources您的網頁

<navigation:Page.Resources> 
     <Style x:Key="ButtonFocusVisual"> 
      <Setter Property="Control.Template"> 
       <Setter.Value> 
        <ControlTemplate> 
         <Border> 
          <Rectangle Margin="2" StrokeThickness="1" Stroke="#60000000" StrokeDashArray="1 2" /> 
         </Border> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style>  
    </navigation:Page.Resources> 

內我希望這將有助於。 :)