Silverlife

c303@WANKUMA

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  5  : 記事  0  : コメント  13  : トラックバック  1

書庫

日記カテゴリ

2008年7月9日 #

http://developerscafe.jp/

Silverlightの濃い内容もあるようなんで、行きたかったなぁ。
せめて木曜日でなければ…(-w-u)

posted @ 19:57 | Feedback (0)

2008年7月3日 #

かずきさんのBrogでSilverlight2にはCommandがないと書かかれていま
した。

CommandとかFrameworkPropertyMetadataとか、あとコントロールもろも
ろで少し凝ったことしようとすると便利なものはほとんどないですねw

UIPropertyMetadataもないのでFrameworkPropertyMetadataもどきを作
るのも面倒。
自分はWPFとSilverlightは期待してますけど、しばらくの間は処理速度
がネックになるだろうとおもっているので、専用のコントロールは少し
でも用意したいのですが、これだけ基がなくてどうしろと;

Silverlight3あたりで、AS2→AS3並の大革命をお待ちしています。
いまは簡単な代用品作っていきますか。

posted @ 23:58 | Feedback (0)

2008年6月29日 #

前回、コメントで中博俊さんからアドバイスを頂いたのですが、Gridを
使用すると問題が発生することが発覚。
もともとアナログ脳なので、最初からCanvasで座標指定することしか頭
になかったために発見が遅れました。

ちなみにGridのほかにStackPanelを使用した場合でも同様の症状がでた
ので、Canvas以外の、回りにサイズを合わせようとする場合すべてに同
じ現象が発生する可能性があるため、少しみていきたいとおもいます。


<UserControl x:Class="SL080624b.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:life="clr-namespace:SL080624b">
    <Grid>
        <life:DockPanel LastChildFill="True">
            <Button life:DockPanel.Dock="Bottom" Content="Hello1"/>
            <Button life:DockPanel.Dock="Left" Content="Hello2"/>
            <Button life:DockPanel.Dock="Top" Content="Hello3"/>
            <Button life:DockPanel.Dock="Right" Content="Hello4"/>
            <Button Content="World"/>
        </life:DockPanel>
    </Grid>
</UserControl>


おそらく、最初のHello1ボタンが、横のサイズが増えた分だけ、縦も同
じ比率でサイズが大きくなっているのではないでしょうか。
あくまで予測の域ですが。
Hello2は縦のサイズを元に同様のことが起き、あとのコントロールは縦
横のサイズが0で見えなくなっているか、描画しようともしていないの
か。


試しにこれと同じソースをWPFで試してみたが、WPFでは考えた通りに
反映されている。
つまり、この挙動の違いはソース自体にはなく、親クラスのPanelか、
さらにその親クラスの動作がWPFと違っている可能性がある。


バグか仕様か、それはわからないところなのですが、次の書き方でごま
k…ゲフンゲフン、回避することができた。
横に自動で合わせるときは縦のサイズを指定する。
縦に自動で合わせるときは横のサイズを指定する。
…正直、使い方としては微妙ですが;
ウィンドウのサイズを変えれば、ちゃんとコントロールのサイズも自動
で変わってくれる。


<UserControl x:Class="SL080624c.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:life="clr-namespace:SL080624c">
    <Grid>
        <life:DockPanel LastChildFill="True">
            <Button Height="20" life:DockPanel.Dock="Bottom" Content="Hello1"/>
            <Button Width="50" life:DockPanel.Dock="Left" Content="Hello2"/>
            <Button Height="20" life:DockPanel.Dock="Top" Content="Hello3"/>
            <Button Width="50" life:DockPanel.Dock="Right" Content="Hello4"/>
            <Button Content="World"/>
        </life:DockPanel>
    </Grid>
</UserControl>

本来なら、ここでPanelと同等のクラスでも用意して、動作を目的に合
わせるとかした方がよいとおもうのですが、自分のスキルのなさと、あ
とぶっちゃけ先に進みたいので、そのあたりは後回しにしたいとおもい
ます(爆

posted @ 9:08 | Feedback (3)

2008年6月24日 #

やっとですが、Silverlight2はじめました。

英語は苦手なので、支障がないうちは日本サイトを巡回しながら触っていきます。
プログラム初級者を脱するまでは時々変なこと言いますので、その時はご指摘願います。
環境の構築にずいぶん時間がかかってしまいました。


最初は投稿テストも兼ねて恒例のHello Worldから、カスタムコントロールのDockPanelを
使って簡単に作成してみたいとおもいます。


<UserControl x:Class="SL080624.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:life="clr-namespace:SL080624"
    Width="400" Height="300">
    <Canvas x:Name="LayoutRoot" Background="Pink">
        <life:DockPanel LastChildFill="True">
            <Button life:DockPanel.Dock="Bottom" Content="Hello1"/>
            <Button life:DockPanel.Dock="Left" Content="Hello2"/>
            <Button life:DockPanel.Dock="Top" Content="Hello3"/>
            <Button life:DockPanel.Dock="Right" Content="Hello4"/>
            <Button Content="World"/>
        </life:DockPanel>
    </Canvas>
</UserControl>


実行結果

今日はひさびさにFTP触ったり、そのURL探すのとかで時間がかかったので、カスタム
コントロールの作成に関する云々を次回に。

posted @ 21:50 | Feedback (3)

2008年6月22日 #

お初になります。c303です。

主にSilverlightを中心にお勉強していきたいとおもいます。

 

基本のんびり屋なんで、更新は稀になるかもしれませんが、その辺りは

長い目で見てやってください。<(_ _u)>よろしくお願いします。

posted @ 15:45 | Feedback (8)