2013-03-10 74 views
1

如何在XAML中創建應用程序級資源?我正在開發一個Windows Phone 8應用程序。應用程序級資源XAML

下面我有一個長方形,我想創建一個可以用來改變矩形的顏色的資源挖掘時:

<Rectangle Fill="#FFF4F4F5" 
      HorizontalAlignment="Left" 
      Height="100" 
      Stroke="Black" 
      VerticalAlignment="Top" 
      Width="100" 
      x:Name="pad1" 
      Tap="pad1_tap"   
/> 

我看過一些類似的職位,說使用方法:

<Application.Resources> 
    <!-- Resources Here !--> 
</Application.Resources> 

...但在我的應用程序中沒有名稱爲'Application'的對象。當試圖使用'Application.Resources'時,我收到一個錯誤消息:成員資源不被識別或無法訪問。

回答

4

的應用對象是在你的app.xaml文件。但是,只有當您希望您的資源被整個應用程序共享時纔有用。如果您只需要在一個頁面中使用它,則可以聲明PhoneApplicationPage元素中的資源:

<phone:PhoneApplicationPage.Resources> 
    <!-- your resource --> 
</phone:PhoneApplicationPage.Resources> 
+0

這就是我正在尋找的!謝謝。 – 2013-03-10 23:17:25

0

你需要導入mscorlib庫,然後使用StaticResource關鍵字是指你的資源,像這樣:

<Application 
    x:Class="AppClass" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"> 

    <Application.Resources> 
     <sys:Int32 x:Key="Test">80</sys:Int32> 
    </Application.Resources> 
</Application> 

用法:

<Rectangle Fill="#FFF4F4F5" 
      HorizontalAlignment="Left" 
      Height="100" 
      Stroke="Black" 
      VerticalAlignment="Top" 
      Width="{StaticResource Test}" 
      x:Name="pad1" 
      Tap="pad1_tap"   
/> 
+0

對於wp8也是如此。您可以在Visual Studio中生成示例wp8應用程序並檢查源代碼。 – Anton 2013-03-10 23:15:31

+0

其實這個In32東西不適用於VS13 U1和WP8項目:( – ecth 2014-06-30 09:57:50

+0

http://msdn.microsoft.com/en-us/library/ee792002%28v=vs.110%29.aspx 這適用於我的情況:' 9001':) – ecth 2014-06-30 10:30:09