Silverlight 進階---《二》

 

綜合實例

以下實例要把C:"WINDOWS"Fonts"simhei.ttf 文檔 copy 到專案根目錄。才能正常顯示中文。

6.1讓silverlight支援輸入文字方塊

眾所周知,在silverlight1.0beta中是不支援inputtext(輸入文本)的,但是我們可以用另外一種方法來實現輸入文本的效果。

silverlight中文本的顯示可以用到兩種形式

1 textblock

2 glyphs

glyphs是個不可見元素,沒法對文字進行排版,而且也不常用,因此我們這個方法就用textblock來做這個inputtext

下麵講講原理:

silverlight支援滑鼠和鍵盤輸入,因此我們可以利用鍵盤輸入來獲取Keyvalue然後吧把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 到專案根目錄。

示例Demo

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";

        }

    }

}

示例Demo

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";

        }

    }

}

示例Demo

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)

        {

        }

    }

示例Demo

posted on 2007-09-28 09:16  brake  阅读(343)  评论(0编辑  收藏  举报

我的最愛 聯繫我們 無障礙