Silverlight 细节一

1.为文字添加垂直颜色渐变:

<TextBlock Text="Type your message">
                <TextBlock.Foreground>
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="Red"></GradientStop>
                        <GradientStop Color="Black" Offset="1"></GradientStop>
                    </LinearGradientBrush>
                </TextBlock.Foreground>
            </TextBlock>

2.设置全屏:

Content contentObject = Application.Current.Host.Content;
contentObject.IsFullScreen = !contentObject.IsFullScreen;

3.Grid的列宽设置方式:

Auto,Star,百分比,具体数值.

4.网站布局:

充分利用UserControl.引用UC所在的命名空间,在布局当中引用

xmls:uc="clr-namespace:Sample"

<uc:FYWorkShopTitle Grid.Row="0"/>

4.UrlEncode&&UrlDecode

页面之间常常使用Get和Post方式来传递参数数据,当使用中文作为网页参数传递时常常存在一些问题,通常的解决方法就是使用UrlEncode和UrlDecode,吧中文字符编码后再传递,然后再解码。

5.HtmlEncode&&HtmlDecode

HTML编码和解码通常是当网页中需要保存用户数据的含有HTML编辑的内容时,基于安全性考虑,常常需要将其进行HtmlEncode编码,在显示这些HTML时,通过HtmlDecode解码后显示出来:

textBlock1.Text="<div>这是一个DIV</div>";

private void btn_HtmlEncode_Click(object sender,RoutedEventArgs e)

{

  textBlock1.Text=HttpUtility.HtmlEncode(textBlock1.Text);

}

6.Silverlight 通过Invoke和InvokeSelf两种对JavaScript函数的访问接口,可是通过使用HtmlPage.Document.CreateElement方法在Silverlight程序中动态创建JavaScript脚本

7.在JavaScript中调用Silverlight中的C#方法

你只要在Silverlight中这侧一个JavaScript脚本对象,并将C#方法暴漏出来即可.

//注册JavaScript的访问对象

HtmlPage.RegisterScriptableObject("Builder",this);

//定义CreateRect为脚本成员

[ScriptableMember]

public void CreateRect(int width,int height)

{

  Rectangle rect=new Rectangle();

rect.Width=width;

rect.Height=height;

rect.Fill=new SolidColorBrush(Colors.Blue);

LayoutRoot.Children=Clear();

LayoutRoot.Children.Add(rect);

}

JavaScript:

<script type="text/javascript">

function createRectangle(){

//根据object 的id来获取Silverlight对象

  var xamlobj=document.all('XamlObject');

//调用Silverlight中的CreateRect方法

xamlobj.content.Builder.CreateRect(document.all('txtWidth'.value,document.all('txtHeight').value);

}

posted @ 2011-12-12 13:42  Kingdom_0  阅读(394)  评论(0编辑  收藏  举报