1. 程式人生 > >Winphone開發之資源字典

Winphone開發之資源字典

控制元件的Style前面幾篇部落格有說過了,不過那裡展示的是把Style嵌入到當前的Xaml裡面,這裡顯示怎麼使用資源字典來外接一個Style的檔案,就像CSS一樣引用使用。

首先新建一個XAML作為資源字典

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

    <Style x:Key="WhiteBt" TargetType="Button">
    <Setter Property="Background" Value="Blue"></Setter>
    </Style>
    
</ResourceDictionary>

在這個XAML裡面聲明瞭Button的Style,也就是把背景顏色改為藍色。下面看看怎麼引用這個檔案。

下面是要設定Style的xaml

<phone:PhoneApplicationPage
    x:Class="StyleTask.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">
    
    <Grid HorizontalAlignment="Left" Height="768" VerticalAlignment="Top" Width="480">
        <Grid.Resources>
            <ResourceDictionary Source="Res.xaml"></ResourceDictionary>
        </Grid.Resources>
        <Button Style="{StaticResource WhiteBt}" Content="Button" HorizontalAlignment="Left" Margin="162,307,0,0" VerticalAlignment="Top"/>
    </Grid>



</phone:PhoneApplicationPage>

可以看到Button的背景顏色被設定為藍色了。通過這個方法把Style外接到一個檔案需要的時候再引用是一個很不錯的選擇。