ListPage

2010年5月28日金曜日

WPF とこきそ3

wpf とこきそ3


以前のとこきそ1でレイアウトライブラリを使用した将棋盤やらオセロ盤をやろうかなって
思ってたらやっぱりやってる方が多数いる模様なので自分も試してみた

縦9*横9の盤を作成

使用するレイアウトライブラリはあえて <Grid></Grid>

前回縦割りと横割りの子ノードの追加方法は

<Grid.ColumnDefinitions>
	%lt;ColumnDefinition Width="*"/>
	<RowDefinition Height = "*"/>
</Grid.ColumnDefinitions>

これを9こ・・。


<Grid.ColumnDefinitions>
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
            <columndefinition Width="*" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
            <rowdefinition Height="*" />
</Grid.RowDefinitions>

なんか良い方法ないかって位見づらい。
マァイイヤ。ワカレバ。で、これで升目を9個ずつ縦横そろえたわけで次は
枡目の線だなー。ShowGridLines="True" で枠線の表示はできる。表示は

borderColorとかないの?msdnをつらつらみたけどない。
http://msdn.microsoft.com/ja-jp/library/system.windows.controls.grid_members.aspx

ネット上ではボーダーコントロールなるものを使用してるので前に習え。



名前空間 System.Windows.Controls

アセンブリ PresentationFramework (PresentationFramework.dll 内)

XMLNS http://schemas.microsoft.com/winfx/2006/xaml/presentation,

http://schemas.microsoft.com/netfx/2007/xaml/presentation


<Border Background="LightBlue" 
        BorderBrush="Black" 
        BorderThickness="2" 
        CornerRadius="45" 
        Padding="25">

まさか!1個ずつ子要素囲むの?
で、ColumnDefinition囲むとエラーでるし意味わからん。
アタッチかと思い


	
<Border Grid.Row="0" Grid.Column="0" BorderThickness="2" BorderBrush="Black"></Border>

こうしたら画面の左端がぽつんと黒くなった・・。


アタッチについて


自分自身のクラス中のプロパティではなく、 親要素で定義されたプロパティ値を設定することを添付プロパティと呼びます。
添付プロパティは(通常のプロパティは使えず、)依存プロパティでなければいけません。
(というか、通常のプロパティではこのような仕組みは実現できません。)
「依存プロパティ」という名前は、添付プロパティの例のように
「他のクラスとの依存関係を持つことができるプロパティ」というような意味合いです。

http://ufcpp.net/study/dotnet/wpf_xamladv.html#attached

現状だと81個手動でどげんかせんといかん!からちょっと考え・・。

よし。線はやめようってことでBorderコントロールは消去。

歩兵を設置。絵心0なのでPolygonで無理やり作りまして。

<Polygon Grid.Row="6" Grid.Column="0" Points="21,3 11,6 8,38 34,38 31,6 " Fill="#8B4513" />

駒を動かす事なんて度外視なのでさらにこの上から文字を描写
とりあえず出来りゃー良い系でがんがんいきます。

<TextBlock Grid.Row="6" Grid.Column="0" TextAlignment="Center" VerticalAlignment="Center" FontSize="15">
歩
</TextBlock>

縦書きが・・できん。香車と飛車と桂馬と・・成りが。という事で難しい事は後から
やることとして1文字わかればいいや系です。(日本人にはわかればいいや系精神が足りないと思います。)
動かす事を度外視としましたが、あれです。一応視野の端っこにはいるおいてあるつもりなので
パスと文字の統合について調べましたところ。

http://msdn.microsoft.com/ja-jp/magazine/dd263097.aspx

ありましたが・・・。これ読んでも理解できなさそうだ・・。
読ませる気ねーだろ。

0 件のコメント:

コメントを投稿