02 月 25 th. 2010
Category : SilverLight
SIlverLightを勉強し始めたばかりですが、はやくも仕事でSilverLightを組む機会があったので忘れたときのためにとりあえず使ったもの、覚えたものメモっておきます。
まずはXAML
■レイアウト
・Grid :HTMLのテーブル的なレイアウト。列と行で構成されている
・Canvas :領域を基準にした相対座標を使用して子オブジェクトを明示的に配置できる
■ユーザーコントロール
ボタンやテキストボックスのようなものを自作したい場合、XAMLのルート要素は
UserControlとする。
- Item1.xaml
<UserControl x:Class="control.Item1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="150">
<Canvas x:Name="LayoutRoot" Height="150">
<Image Height="150" Width="520" x:Name="banner2" Source="/SilverlightBanner3;Component/asset/1.jpg" >
<Image.Clip>
<RectangleGeometry Rect="0,0,160,150"/>
</Image.Clip>
</Image>
</Canvas>
</UserControl>
上記「Item1.xaml」をPage.xamlで使う場合下記のようにする。
- Page.xaml
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:control="clr-namespace:SilverlightBanner3.control"
mc:Ignorable="d" xmlns:System="clr-namespace:System;assembly=mscorlib" x:Class="SilverlightBanner3.Page"
d:DesignWidth="640" d:DesignHeight="150" Width="640" Height="150">
・
・
・
<control:Item1 x:Name="hoge" Width="520" Height="150" Cursor="Hand">
</control:Item1>
■座標について
座標って書いたけど座標ってゆう概念はない。
Gridではmarginプロパティ。
Canvasではleftプロパティ(Canvasの基点からの値)。
上2つがx座標みたいな感じ。
y座標はCanvasだとTop
■よく使うプロパティ
・Width :そのまんまオブジェクトの幅
・Height :そのまんまオブジェクトの高さ
・Opacity :透明度 0?1
書くことってゆうかあたりまえだけど知らなかったことが多すぎてまとまらないので
C#の話はまた今度。XAMLもまだまだヤバい。
でもFlashよりもヌルヌル動いて気持ち悪いくらい気持ちいい笑
今は簡単な機能でも無駄にソースが長くなっている状態なのでじょじょに慣れて
効率よく書けるようになろう。
まずはXAML
■レイアウト
・Grid :HTMLのテーブル的なレイアウト。列と行で構成されている
・Canvas :領域を基準にした相対座標を使用して子オブジェクトを明示的に配置できる
■ユーザーコントロール
ボタンやテキストボックスのようなものを自作したい場合、XAMLのルート要素は
UserControlとする。
- Item1.xaml
<UserControl x:Class="control.Item1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="640" d:DesignHeight="150">
<Canvas x:Name="LayoutRoot" Height="150">
<Image Height="150" Width="520" x:Name="banner2" Source="/SilverlightBanner3;Component/asset/1.jpg" >
<Image.Clip>
<RectangleGeometry Rect="0,0,160,150"/>
</Image.Clip>
</Image>
</Canvas>
</UserControl>
上記「Item1.xaml」をPage.xamlで使う場合下記のようにする。
- Page.xaml
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:control="clr-namespace:SilverlightBanner3.control"
mc:Ignorable="d" xmlns:System="clr-namespace:System;assembly=mscorlib" x:Class="SilverlightBanner3.Page"
d:DesignWidth="640" d:DesignHeight="150" Width="640" Height="150">
・
・
・
<control:Item1 x:Name="hoge" Width="520" Height="150" Cursor="Hand">
</control:Item1>
■座標について
座標って書いたけど座標ってゆう概念はない。
Gridではmarginプロパティ。
Canvasではleftプロパティ(Canvasの基点からの値)。
上2つがx座標みたいな感じ。
y座標はCanvasだとTop
■よく使うプロパティ
・Width :そのまんまオブジェクトの幅
・Height :そのまんまオブジェクトの高さ
・Opacity :透明度 0?1
書くことってゆうかあたりまえだけど知らなかったことが多すぎてまとまらないので
C#の話はまた今度。XAMLもまだまだヤバい。
でもFlashよりもヌルヌル動いて気持ち悪いくらい気持ちいい笑
今は簡単な機能でも無駄にソースが長くなっている状態なのでじょじょに慣れて
効率よく書けるようになろう。




