欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Silverlight嵌入HTML网页,不开启 windowless=true 模式

程序员文章站 2022-04-06 10:14:42
目前工作中用到SilverLight,有必要对其作一定的了解。 目前工作中用到SilverLight,有必要对其作一定的了解。 ......

目前工作中用到SilverLight,有必要对其作一定的了解。

1.LayoutRoot_Loaded 和 OnPageLoad

<Grid x:Name="LayoutRoot" Loaded="LayoutRoot_Loaded">

// 支持页面刷新
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{ }
// 页面加载
public override void OnPageLoad()
{
     base.OnPageLoad();
}

第一次进入页面时,先执行 LayoutRoot_Loaded 方法,再执行 OnPageLoad 方法。当从下一页返回该页面时,页面刷新,只会执行 LayoutRoot_Loaded 方法。

2.OnNavigatedTo 和 OnNavigatedFrom

 

3.首次加载页面,主动让某个文本框获取焦点

using System.Windows.Browser;
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)  
{  
    HtmlPage.Plugin.Invoke("focus");  
    txtName.Focus();       
}  

4.绑定模式

[1].OneTime:一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数据而不进行数据的更新。
[2].OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据。
[3].TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标。

5.在Silverlight中内嵌html网页

[1]. 采用 实现, <param name="windowless" value="true" /> ,会出现TextBox无法输入中文的问题。

待议方法:;

[2]. WillisHtml.dll,采用博主提供的特殊控件

// .XAML的UserControl
xmlns:willishtml="clr-namespace:Willis;assembly=WillisHtml"
// 在Grid中
<willishtml:WillisHtml x:Name="willishtml" HtmlControlLeft="0" HtmlControlTop="0"
 NavigationUrl="http://www.cnblogs.com/waren168"></willishtml:WillisHtml>

// 在.xaml.cs中
using Willis;

详细参见:;

6.Silverlight 通信 Html