« スクリプトの基本3~sender.findName("名前")でオブジェクトを指し示す | トップページ | スクリプトの基本5~変形の方法をスクリプトで変更する »

2008/03/26

スクリプトの基本4~ブラシのプロパティをスクリプトで変更する

findNameメソッドの使い方がわかれば、スクリプトを使っていろいろなことができるようになります。ここでは、ブラシのプロパティを変更する例を紹介します。次が、そのサンプルです。

http://www.makoto3.net/xaml/silverlight0098/index.html

【myxaml.xaml】

<Canvas
 xmlns="http://schemas.microsoft.com/client/2007"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 Width="300" Height="300"
 Background="lavender">
 <Ellipse  Width="200" Height="200" Canvas.Left="50" Canvas.Top="55"
  MouseEnter="myFunc1"   MouseLeave="myFunc2" >
  <Ellipse.Fill>
   <ImageBrush ImageSource="img01.jpg" Stretch="None" x:Name="myBrush" />
 </Ellipse.Fill>
 </Ellipse>
</Canvas>

【myScript.js】

function myFunc1(sender,args) {
 sender.findName("myBrush").ImageSource='img02.jpg';
}
function myFunc2(sender,args) {
 sender.findName("myBrush").ImageSource='img01.jpg';
}

まず、円(Ellipse)の内部に画像が表示されます。円にマウスポインタをのせると画像が切り替わり、マウスポインタを離すと再び元の画像に切り替わります。

ポイントは、円の<Ellipse>ではなく、ブラシの<ImageBrush>にx:Nameで"mtBrush"という名前を付けていることです。そして、関数ではsender.findName("myBrush").ImageSource と指定することで、ブラシのimageSourceプロパティを変更しています。

イベントハンドラは<Ellipse>に指定しています。MouseEnter="myFunc1" でマウスポインタが円にのったときmyFunc1を実行します。そして、MouseLeave="myFunc2"でマウスポインタが円から離れたときmyFunc2を実行します。各関数の処理は、前述のように、ブラシのImageSourceプロパティを変更することです。

これはImageBrushでしたが、SolidColorBrushやLinearGradiendBrushなどの他のブラシでも、プロパティを変更することで状態を切り替えることが可能です。

<< JavaScriptでSilverlight 目次  >>


このページは xfy Blog Editor  を利用して作成されました。

« スクリプトの基本3~sender.findName("名前")でオブジェクトを指し示す | トップページ | スクリプトの基本5~変形の方法をスクリプトで変更する »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/39246/40635287

この記事へのトラックバック一覧です: スクリプトの基本4~ブラシのプロパティをスクリプトで変更する:

« スクリプトの基本3~sender.findName("名前")でオブジェクトを指し示す | トップページ | スクリプトの基本5~変形の方法をスクリプトで変更する »

2009年7月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

最近のトラックバック