Silverlight 進階---《二》
綜合實例
以下實例要把C:"WINDOWS"Fonts"simhei.ttf 文檔 copy 到專案根目錄。才能正常顯示中文。
6.1讓silverlight支援輸入文字方塊
眾所周知,在silverlight1.0beta中是不支援inputtext(輸入文本)的,但是我們可以用另外一種方法來實現輸入文本的效果。
在silverlight中文本的顯示可以用到兩種形式
1 textblock
2 glyphs
glyphs是個不可見元素,沒法對文字進行排版,而且也不常用,因此我們這個方法就用textblock來做這個inputtext。
下麵講講原理:
silverlight支援滑鼠和鍵盤輸入,因此我們可以利用鍵盤輸入來獲取Key的value然後吧把value賦值給textblock,這樣就可以簡單的實現輸入文本的功能了。
下面我們來看看例子:
6.2 radioButton
Xaml 文件
<Canvasx:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="LeftMenu.radioButton;assembly=ClientBin/LeftMenu.dll"
Width="640"
Height="480"
Background="White"
>
<TextBlockx:Name="lblSex" Text="性別:" Canvas.Left="0" Canvas.Top="10"></TextBlock>
<Canvasx:Name="canMale" Canvas.Left="50" Canvas.Top="10" Cursor="Hand" >
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranMale"/>
</Canvas.RenderTransform>
<EllipseHeight="15" Width="15" Stroke="Black" StrokeThickness="1" Fill="White" x:Name="ellipse1"/>
<EllipseHeight="5" Width="5" Canvas.Left="5" Canvas.Top="5" Stroke="Black" StrokeThickness="1" Fill="SlateBlue" x:Name="rdo0"/>
<TextBlockx:Name="lblMale" Text="男" Canvas.Left="20" Canvas.Top="-3"></TextBlock>
</Canvas>
<Canvasx:Name="canWam" Canvas.Left="120" Canvas.Top="10" Cursor="Hand">
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranWam"/>
</Canvas.RenderTransform>
<EllipseHeight="15" Width="15" Stroke="Black" StrokeThickness="1" Fill="White" x:Name="ellipse2"/>
<EllipseHeight="5" Width="5" Canvas.Left="5" Canvas.Top="5" Stroke="Black" StrokeThickness="1" Fill="SlateBlue" x:Name="rdo1"/>
<TextBlockx:Name="lblWam" Text="女" Canvas.Left="20" Canvas.Top="-3"></TextBlock>
</Canvas>
</Canvas>
Xaml.cs文件
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Browser;
namespace LeftMenu
{
publicpartialclassradioButton : Canvas
{
Downloader _downloader;
publicvoid Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
_downloader = newDownloader();
_downloader.Completed += newEventHandler(_downloader_Completed);
_downloader.Open("GET", newUri(HtmlPage.DocumentUri, "simhei.ttf"));
_downloader.Send();
rdo1.Visibility = Visibility.Collapsed;
canMale.MouseLeftButtonDown += newMouseEventHandler(lblSex_MouseLeftButtonDown);
canMale.MouseEnter += newMouseEventHandler(canMale_MouseEnter);
canMale.MouseLeave += newEventHandler(canMale_MouseLeave);
canWam.MouseLeftButtonDown += newMouseEventHandler(canWam_MouseLeftButtonDown);
canWam.MouseEnter += newMouseEventHandler(canWam_MouseEnter);
canWam.MouseLeave += newEventHandler(canWam_MouseLeave);
}
void canWam_MouseLeave(object sender, EventArgs e)
{
tranWam.ScaleX = 1;
tranWam.ScaleY = 1;
}
void canWam_MouseEnter(object sender, MouseEventArgs e)
{
tranWam.ScaleX = 1.2;
tranWam.ScaleY = 1.2;
}
void canMale_MouseLeave(object sender, EventArgs e)
{
tranMale.ScaleX = 1;
tranMale.ScaleY = 1;
}
void canMale_MouseEnter(object sender, MouseEventArgs e)
{
tranMale.ScaleX = 1.2;
tranMale.ScaleY = 1.2;
}
//女性
void canWam_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
rdo0.Visibility = Visibility.Collapsed;
rdo1.Visibility = Visibility.Visible;
}
//男性
void lblSex_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
rdo0.Visibility = Visibility.Visible;
rdo1.Visibility = Visibility.Collapsed;
}
void _downloader_Completed(object sender, EventArgs e)
{
lblSex.SetFontSource(_downloader);
// 指定要使用的字體名稱
lblSex.FontFamily = "Simhei";
lblMale.SetFontSource(_downloader);
// 指定要使用的字體名稱
lblMale.FontFamily = "Simhei";
lblWam.SetFontSource(_downloader);
// 指定要使用的字體名稱
lblWam.FontFamily = "Simhei";
}
}
}
把C:"WINDOWS"Fonts"simhei.ttf copy 到專案根目錄。
6.3 checkBox
Xaml 文件
<Canvasx:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="LeftMenu.checkBox;assembly=ClientBin/LeftMenu.dll"
Width="640"
Height="480"
Background="White"
>
<TextBlockx:Name="lblArea" Text="愛好:" Canvas.Left="0" Canvas.Top="10"></TextBlock>
<Canvasx:Name="canlobby" Canvas.Left="50" Canvas.Top="10" Cursor="Hand" >
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranlobby"/>
</Canvas.RenderTransform>
<RectangleHeight="20" Width="20" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="6,8 10,15,18,2" Stroke="Black" StrokeThickness="2" x:Name="chklobby"/>
<TextBlockx:Name="lbllobby" Text="本館大廳" Canvas.Left="24" Canvas.Top="0"></TextBlock>
</Canvas>
<Canvasx:Name="canAuditorium" Canvas.Left="50" Canvas.Top="40" Cursor="Hand">
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranAuditorium"/>
</Canvas.RenderTransform>
<RectangleHeight="20" Width="20" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="6,8 10,15,18,2" Stroke="Black" StrokeThickness="2" x:Name="chkAuditorium"/>
<TextBlockx:Name="lblAuditorium" Text="視聽室" Canvas.Left="24" Canvas.Top="0"></TextBlock>
</Canvas>
<Canvasx:Name="canGalleryG" Canvas.Left="50" Canvas.Top="70" Cursor="Hand">
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranGalleryG"/>
</Canvas.RenderTransform>
<RectangleHeight="20" Width="20" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="6,8 10,15,18,2" Stroke="Black" StrokeThickness="2" x:Name="chkGalleryG"/>
<TextBlockx:Name="lblGalleryG" Text="G區教育走廊" Canvas.Left="24" Canvas.Top="0"></TextBlock>
</Canvas>
<Canvasx:Name="canTaipeiArtPark" Canvas.Left="50" Canvas.Top="100" Cursor="Hand">
<Canvas.RenderTransform>
<ScaleTransformx:Name="tranTaipeiArtPark"/>
</Canvas.RenderTransform>
<RectangleHeight="20" Width="20" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="6,8 10,15,18,2" Stroke="Black" StrokeThickness="2" x:Name="chkTaipeiArtPark"/>
<TextBlockx:Name="lblTaipeiArtPark" Text="台北美術公園" Canvas.Left="24" Canvas.Top="0"></TextBlock>
</Canvas>
</Canvas>
Xaml.cs 文件
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Browser;
namespace LeftMenu
{
publicpartialclasscheckBox : Canvas
{
Downloader _downloader;
publicvoid Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
_downloader = newDownloader();
_downloader.Completed += newEventHandler(_downloader_Completed);
_downloader.Open("GET", newUri(HtmlPage.DocumentUri, "simhei.ttf"));
_downloader.Send();
canlobby.MouseLeftButtonDown += newMouseEventHandler(canlobby_MouseLeftButtonDown);
canlobby.MouseEnter += newMouseEventHandler(canMale_MouseEnter);
canlobby.MouseLeave += newEventHandler(canMale_MouseLeave);
canAuditorium.MouseLeftButtonDown += newMouseEventHandler(canAuditorium_MouseLeftButtonDown);
canAuditorium.MouseEnter += newMouseEventHandler(canWam_MouseEnter);
canAuditorium.MouseLeave += newEventHandler(canWam_MouseLeave);
canGalleryG.MouseLeftButtonDown += newMouseEventHandler(canGalleryG_MouseLeftButtonDown);
canGalleryG.MouseEnter += newMouseEventHandler(canGalleryG_MouseEnter);
canGalleryG.MouseLeave += newEventHandler(canGalleryG_MouseLeave);
canTaipeiArtPark.MouseLeftButtonDown += newMouseEventHandler(canTaipeiArtPark_MouseLeftButtonDown);
canTaipeiArtPark.MouseEnter += newMouseEventHandler(canTaipeiArtPark_MouseEnter);
canTaipeiArtPark.MouseLeave += newEventHandler(canTaipeiArtPark_MouseLeave);
chklobby.Visibility = Visibility.Collapsed;
chkAuditorium.Visibility = Visibility.Collapsed;
chkGalleryG.Visibility = Visibility.Collapsed;
chkTaipeiArtPark.Visibility = Visibility.Collapsed;
}
void canTaipeiArtPark_MouseLeave(object sender, EventArgs e)
{
tranTaipeiArtPark.ScaleX = 1;
tranTaipeiArtPark.ScaleY = 1;
}
void canTaipeiArtPark_MouseEnter(object sender, MouseEventArgs e)
{
tranTaipeiArtPark.ScaleX = 1.2;
tranTaipeiArtPark.ScaleY = 1.2;
}
void canTaipeiArtPark_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
if (chkTaipeiArtPark.Visibility == Visibility.Visible)
{
chkTaipeiArtPark.Visibility = Visibility.Collapsed;
}
else
{
chkTaipeiArtPark.Visibility = Visibility.Visible;
}
}
void canGalleryG_MouseLeave(object sender, EventArgs e)
{
tranGalleryG.ScaleX = 1;
tranGalleryG.ScaleY = 1;
}
void canGalleryG_MouseEnter(object sender, MouseEventArgs e)
{
tranGalleryG.ScaleX = 1.2;
tranGalleryG.ScaleY = 1.2;
}
void canGalleryG_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
if (chkGalleryG.Visibility == Visibility.Visible)
{
chkGalleryG.Visibility = Visibility.Collapsed;
}
else
{
chkGalleryG.Visibility = Visibility.Visible;
}
}
void canAuditorium_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
if (chkAuditorium.Visibility == Visibility.Visible)
{
chkAuditorium.Visibility = Visibility.Collapsed;
}
else
{
chkAuditorium.Visibility = Visibility.Visible;
}
}
void canlobby_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
if (chklobby.Visibility == Visibility.Visible)
{
chklobby.Visibility = Visibility.Collapsed;
}
else
{
chklobby.Visibility = Visibility.Visible;
}
}
void canWam_MouseLeave(object sender, EventArgs e)
{
tranAuditorium.ScaleX = 1;
tranAuditorium.ScaleY = 1;
}
void canWam_MouseEnter(object sender, MouseEventArgs e)
{
tranAuditorium.ScaleX = 1.2;
tranAuditorium.ScaleY = 1.2;
}
void canMale_MouseLeave(object sender, EventArgs e)
{
tranlobby.ScaleX = 1;
tranlobby.ScaleY = 1;
}
void canMale_MouseEnter(object sender, MouseEventArgs e)
{
tranlobby.ScaleX = 1.2;
tranlobby.ScaleY = 1.2;
}
void _downloader_Completed(object sender, EventArgs e)
{
lblArea.SetFontSource(_downloader);
lblArea.FontFamily = "Simhei";
lbllobby.SetFontSource(_downloader);
lbllobby.FontFamily = "Simhei";
lblAuditorium.SetFontSource(_downloader);
lblAuditorium.FontFamily = "Simhei";
lblGalleryG.SetFontSource(_downloader);
lblGalleryG.FontFamily = "Simhei";
lblTaipeiArtPark.SetFontSource(_downloader);
lblTaipeiArtPark.FontFamily = "Simhei";
}
}
}
6.4 DrawDownList
Xaml 文件
<Canvasx:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="LeftMenu.DrawDownList;assembly=ClientBin/LeftMenu.dll"
Width="140"
Height="180"
Background="White"
>
<Canvasx:Name="canType" Canvas.Left="10" Canvas.Top="10">
<TextBlockx:Name="lblSelect" Canvas.Left="20" Canvas.Top="2" Text="請選擇"></TextBlock>
<Rectanglex:Name="retTitle" Height="20" Width="120" StrokeThickness="1" Stroke="Black" ></Rectangle>
<Polygonx:Name="listABC" Canvas.Left="5" Canvas.Top="-13" Points="100,33 85,15 115,15" Stroke="Black" StrokeThickness="1" Fill="LightBlue"/>
<Canvasx:Name="canData">
<Rectanglex:Name="listData" Height="160" Width="120" StrokeThickness="1" Stroke="Black" ></Rectangle>
<Canvasx:Name="canItem0" Canvas.Left="22" Canvas.Top="20" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem0"/>
<TextBlock x:Name="lblitem0" Text="本館大廳" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem1" Canvas.Left="22" Canvas.Top="40" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem1"/>
<TextBlock x:Name="lblitem1" Text="視聽室" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem2" Canvas.Left="22" Canvas.Top="60" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem2"/>
<TextBlock x:Name="lblitem2" Text="教育走廊" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem3" Canvas.Left="22" Canvas.Top="80" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem3"/>
<TextBlock x:Name="lblitem3" Text="台北美術公園" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem4" Canvas.Left="22" Canvas.Top="100" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem4"/>
<TextBlock x:Name="lblitem4" Text="藝術長廊" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem5" Canvas.Left="22" Canvas.Top="120" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem5"/>
<TextBlock x:Name="lblitem5" Text="愛心室" ></TextBlock>
</Canvas>
<Canvasx:Name="canItem6" Canvas.Left="22" Canvas.Top="140" Cursor="Hand">
<RectangleHeight="15" Width="15" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" Fill="White" />
<Polyline Points="4,7 8,13,14,2" Canvas.Left="-18" Canvas.Top="0" Stroke="Black" StrokeThickness="2" x:Name="chkitem6"/>
<TextBlock x:Name="lblitem6" Text="發現大廳" ></TextBlock>
</Canvas>
</Canvas>
</Canvas>
</Canvas>
Xaml.cs文件
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Browser;
namespace LeftMenu
{
publicpartialclassDrawDownList : Canvas
{
Downloader _downloader;
publicvoid Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
_downloader = newDownloader();
_downloader.Completed += newEventHandler(_downloader_Completed);
_downloader.Open("GET", newUri(HtmlPage.DocumentUri, "simhei.ttf"));
_downloader.Send();
canType.MouseEnter += newMouseEventHandler(canType_MouseEnter);
canType.MouseLeave += newEventHandler(canType_MouseLeave);
listABC.MouseLeftButtonDown += newMouseEventHandler(listABC_MouseLeftButtonDown);
retTitle.MouseLeftButtonDown += newMouseEventHandler(listABC_MouseLeftButtonDown);
canData.Visibility = Visibility.Collapsed;
canItem0.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem0.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem0.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem1.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem1.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem1.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem2.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem2.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem2.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem3.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem3.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem3.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem4.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem4.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem4.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem5.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem5.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem5.MouseLeave += newEventHandler(canItem0_MouseLeave);
canItem6.MouseLeftButtonDown += newMouseEventHandler(canItem0_MouseLeftButtonDown);
canItem6.MouseEnter += newMouseEventHandler(canItem0_MouseEnter);
canItem6.MouseLeave += newEventHandler(canItem0_MouseLeave);
}
void canItem0_MouseLeave(object sender, EventArgs e)
{
}
void canItem0_MouseEnter(object sender, MouseEventArgs e)
{
}
void canItem0_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
Canvas objS = (Canvas)sender;
switch (objS.Name)
{
case"canItem0" :
if (chkitem0.Visibility == Visibility.Visible)
{
chkitem0.Visibility = Visibility.Collapsed;
}
else
{
chkitem0.Visibility = Visibility.Visible;
}
break;
case"canItem1" :
if (chkitem1.Visibility == Visibility.Visible)
{
chkitem1.Visibility = Visibility.Collapsed;
}
else
{
chkitem1.Visibility = Visibility.Visible;
}
break;
case"canItem2" :
if (chkitem2.Visibility == Visibility.Visible)
{
chkitem2.Visibility = Visibility.Collapsed;
}
else
{
chkitem2.Visibility = Visibility.Visible;
}
break;
case"canItem3" :
if (chkitem3.Visibility == Visibility.Visible)
{
chkitem3.Visibility = Visibility.Collapsed;
}
else
{
chkitem3.Visibility = Visibility.Visible;
}
break;
case"canItem4" :
if (chkitem4.Visibility == Visibility.Visible)
{
chkitem4.Visibility = Visibility.Collapsed;
}
else
{
chkitem4.Visibility = Visibility.Visible;
}
break;
case"canItem5" :
if (chkitem5.Visibility == Visibility.Visible)
{
chkitem5.Visibility = Visibility.Collapsed;
}
else
{
chkitem5.Visibility = Visibility.Visible;
}
break;
case"canItem6" :
if (chkitem6.Visibility == Visibility.Visible)
{
chkitem6.Visibility = Visibility.Collapsed;
}
else
{
chkitem6.Visibility = Visibility.Visible;
}
break;
}
}
void listABC_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
if (canData.Visibility == Visibility.Visible)
{
canData.Visibility = Visibility.Collapsed;
}
else
{
canData.Visibility = Visibility.Visible;
}
}
void canType_MouseLeave(object sender, EventArgs e)
{
}
void canType_MouseEnter(object sender, MouseEventArgs e)
{
}
void _downloader_Completed(object sender, EventArgs e)
{
lblSelect.SetFontSource(_downloader);
lblSelect.FontFamily = "Simhei";
lblitem0.SetFontSource(_downloader);
lblitem0.FontFamily = "Simhei";
lblitem1.SetFontSource(_downloader);
lblitem1.FontFamily = "Simhei";
lblitem2.SetFontSource(_downloader);
lblitem2.FontFamily = "Simhei";
lblitem3.SetFontSource(_downloader);
lblitem3.FontFamily = "Simhei";
lblitem4.SetFontSource(_downloader);
lblitem4.FontFamily = "Simhei";
lblitem5.SetFontSource(_downloader);
lblitem5.FontFamily = "Simhei";
lblitem6.SetFontSource(_downloader);
lblitem6.FontFamily = "Simhei";
}
}
}
6.5 Hyperlink
Xaml 代碼:
<Canvasx:Name="linkamy" Width="90" Height="30" Canvas.Left="20" Canvas.Top="20" Cursor="Hand" >
<TextBlockText="home" Foreground="Blue"/>
<LineStroke="blue" StrokeThickness="1" X1="0" Y1="20" X2="40" Y2="20" x:Name="hyperlink_line" Opacity="0"/>
</Canvas>
<Canvasx:Name="linkBlog" Width="90" Height="30" Canvas.Left="70" Canvas.Top="20" Cursor="Hand" >
<TextBlockText="Blog" Foreground="Blue"/>
<LineStroke="blue" StrokeThickness="1" X1="0" Y1="20" X2="30" Y2="20" x:Name="hyperlink_Blog" Opacity="0"/>
</Canvas>
Xaml.cs代碼
public partial class linkA : Canvas
{
public void Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
linkamy.MouseLeftButtonDown += new MouseEventHandler(linkamy_MouseLeftButtonDown);
linkamy.MouseEnter += new MouseEventHandler(linkamy_MouseEnter);
linkamy.MouseLeave += new EventHandler(linkamy_MouseLeave);
linkBlog.MouseLeftButtonDown += new MouseEventHandler(linkBlog_MouseLeftButtonDown);
linkBlog.MouseEnter += new MouseEventHandler(linkBlog_MouseEnter);
linkBlog.MouseLeave += new EventHandler(linkBlog_MouseLeave);
}
void linkBlog_MouseLeave(object sender, EventArgs e)
{
hyperlink_Blog.Opacity = 0;
}
void linkBlog_MouseEnter(object sender, MouseEventArgs e)
{
hyperlink_Blog.Opacity = 1;
}
void linkamy_MouseLeave(object sender, EventArgs e)
{
hyperlink_line.Opacity = 0;
}
void linkamy_MouseEnter(object sender, MouseEventArgs e)
{
hyperlink_line.Opacity = 1;
}
void linkamy_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
}
}