WEB开发网
开发学院图形图像Flash 快速浏览Silverlight3 Beta: SystemColor(系统颜色... 阅读

快速浏览Silverlight3 Beta: SystemColor(系统颜色)

 2009-05-07 12:05:57 来源:WEB开发网   
核心提示: 也就是计算器和FireFox会跟随着系统颜色而变化,但Silverlight 应用却不会,快速浏览Silverlight3 Beta: SystemColor(系统颜色)(2),它还是老样子,不受系统颜色设置的影响. 如果Silverlight应用能按用户或开发者设想的去应用这些设置(系

也就是计算器和FireFox会跟随着系统颜色而变化,但Silverlight 应用却不会。它还是老样子,不受系统颜色设置的影响.

如果Silverlight应用能按用户或开发者设想的去应用这些设置(系统颜色)该多好呀。

 现在,SystemColors就可以实现(尽管其仅有少数一些静态属性可以使用,且当用户修改设置时还无法修改(通知)当前显示界面等等)。    

不过,我认为如果用户刷新浏览器的话(或可以点击Silverlight UI上的一个按钮来通知当前应用已修改了WINDOWS主题的话),这些就不是什么主要的缺失了。It’s liveable.

抱着这种想法,我打算显露出SystemColors的一些静态属性,将其作为非静态属性以便于在XAML使用.

下面这是相关的尝试 :-)

public class MySystemColours
{
  public Brush ControlTextBrush
  {
    get
    {
      if (controlTextBrush == null)
      {
        controlTextBrush = new SolidColorBrush(SystemColors.ControlTextColor);
      }
      return (controlTextBrush);
    }
  }
  Brush controlTextBrush;
}

而相应的Xaml内容如下:  

<UserControl
    x:Class="SilverlightApplication36.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:SilverlightApplication36">
    <UserControl.Resources>
        <local:MySystemColours x:Key="mySystemColours" />
    </UserControl.Resources>
    <Grid
        x:Name="LayoutRoot">
        <Grid.Resources>
        </Grid.Resources>
        <Button
            Foreground="{Binding Source={StaticResource mySystemColours},Path=ControlTextBrush}"
            Content="Click Me"
            FontSize="24"
            HorizontalAlignment="Center"
            VerticalAlignment="Center" />
    </Grid>
</UserControl>

上一页  1 2 3 4 5 6  下一页

Tags:快速 浏览 Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接