快速浏览Silverlight3 Beta: SystemColor(系统颜色)
2009-05-07 12:05:57 来源:WEB开发网也就是计算器和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>
Tags:快速 浏览 Silverlight
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接