のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,833人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレMicrosoft Silverlight その7

    silverlight覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2104 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    701 = :

    感だけどシリアル保存用のpublicクラス作ってそのクラスを使って保存用データを一旦作って
    そいつを渡してみる
    確かシリアライズってpublicクラスでプロパティなんかもpublicじゃないと使えなかったような

    702 = :

    おっと自分の質問忘れるところだった

    <UserControl>
    <Canvas>
    <my:MyCanvas>
    </my:MyCanvas>
    </Canvas>
    </UserControl>

    MyCanvasが持ってるスライダーの値を使ってCanvasのスケールを操作したい場合の
    バインディングってどう書けばいいんだろう

    <ScaleTransform ScaleX="{Binding Path=Value,ElementName=[ここがわからん]}"/>

    703 = :

    >>700
    IsolatedStorageSettings クラス
    分離ストレージにキーと値のペアを格納する Dictionary<TKey, TValue> を提供します。

    SiteSettings.SaveはiniファイルやCookieに相当する、
    [AttribName: value]
    形式の連想配列で表現できるようなデータを格納するクラスだから。
    どんなデータを保存するか良く考えよう。
    編集中のドキュメントを保存するならSystem.IOを使う。

    あとデータメンバにインスタンス参照を含むようなものはシリアライズが難しいから、
    それを文字列として表現できるかよーく考えよう。

    704 = :

    >>702
    そこはドキュメント通りなら以下の通り。
    バインド方向にもよるだろうけど。
    > 対象となる要素の Name プロパティまたは x:Name 属性の値。

    <Slider x:Name="scaleSlider"/>
    ...
    <ScaleTransform ScaleX="{Binding Path=Value,ElementName=scaleSlider}"/>

    705 = :

    >>700
    そのクラスおよび全ての基底からシリアライズできない型のメンバを排除する
    具体的には、

    1. シリアライズできないメンバを削除orシリアライズ可能な型に置き換え
    2. クラスにDataContract属性を、シリアライズできるメンバだけにDataMember属性を付ける

    なんだが、シリアライズするならモデルだろうからUIElement持っているのがおかしい
    あ、自前のクラスでなくて、シリアライズできないものを派生しているのは論外だから

    706 = :

    >>704
    MyCanvasというのがユーザーコントロールの場合はどうも無理ぽいですね・・・

    しかしバインディングで対処できる箇所を書き換えてますがコードが減る減るw

    707 = :

    Binding.Converterで変換する際に一つ外部から要因を与えたい場合はどうすればいいのでしょうか?

    double A 変換したい数値
    double B Aを変換の際にかけたい数値

    double C Binding.Converterの変換結果

    Bはスケールなのでユーザーの操作で数値が変わる

    708 = :

    VMで何でも出来るんだから
    Binding.Converterってあんまり出番ない気がするけど気のせい?

    709 = :

    >>707
    リソース中に
    <XxxConverter x:Key="xxx" B="111" />
    って書いて、こいつを {StaticResource} で読めばいいんでは。
    (XxxConverter 作るときにpublicなプロパティBを定義しとく)

    >>708
    それはそれでめんどくさいけどもね。
    管理しないといけないPropertyChangedの量増えるし。

    710 = :

    >>709
    <XxxConverter x:Key="xxx" B="111" />

    このBの部分をさらにバインドで処理可能ですか?

    712 = :

    バインディング系で便乗

    XAMLに
    <TextBlock Text="{Binding Path=Power, Mode=OneWay}" />
    があったとして、分離コードのほうでプロパティにPowerを含むオブジェクトをDataContext
    に突っ込む
    this.DataContext = 該当オブジェクト;

    こうすると、DataContextに突っ込んだオブジェクトのPowerが増減するたびにXAMLが表示して
    いるPowerも変化すると思うんだけどなんか間違ってる??
    どうも動きがOneTimeになってそうなんだよな~読み込み時の値しか適用されない

    713 = :

    INotifyPropertyChangedは実装してる?

    714 = :

    >>713
    なるほど、そんなことをしないといかんのか。
    しかしこれプロパティがいっぱいあるクラスだとかなり大変じゃない?

    715 = :

    >>714
    ツール化してる人もいるね

    でもデータ保持クラスに決まった記述さえしてしまえば
    あとは勝手にデータを参照更新してくれるんだから楽をするための
    苦労と思えば・・・

    コードをしこしこ書いてバグで悩むよりよっぽどいい

    717 = :

    >>706
    MyCanvasが公開しているはずのスライダー値のプロパティにバインドするだけじゃないの?
    ユーザーコントロールの子コントロールに外部からアクセスしようとか阿呆の所業

    >>707
    OneWayならMultiBindingで可能だけど、逆方向も必要ならVMの仕事だろうな
    例えば、getter, setterにC=A*B, A=C/Bを考えている場合など

    718 = :

    >ユーザーコントロールの子コントロールに外部からアクセスしようとか阿呆の所業
    うお・・・できないのか・・・
    名前さえ付けとけば見えると思ったのにw

    719 = :

    出来なくはないがめちゃくちゃになりそうではないか・・・

    720 = :

    そんなユーザーコントロールの意義を真っ向から否定するようなことするくらいなら、
    最初からユーザーコントロールなんて作らなければ良いと思う

    721 = :

    >>720
    バインディングでコード量が減ったのでユーザーコントロールに分けてたのを
    元に戻すことにしましたw

    バインディング使うとほんとコード量減るw

    チェックボックスの関連で質問が・・・
    1) 起動して何もデータ追加なし
    2) 制御点1個の曲線を追加
    3) 2)で追加した曲線の制御点を移動
    4) 2)で追加した曲線の塗りつぶしをONにする
    5) マーカーどれでもいいので触ってみる
    質問したいのは4)で塗りをONにするためのチェックボックスにチェックをつけると
    FillCheckBox_Checkedイベントで画面の更新をしてるんだけど
    同時にバインドしてあるデータの更新も期待してるんだけど遅れるのか4)で
    チェックしたのに色が塗られない
    でも5)のようにマーカーを移動するとバインドしてあるデータの更新は行われてるので
    塗りが反映される
    何か対策する方法は無いかな?
    WPFとSilverLightではUpdateSourceTriggerの指定可能な項目にも違いがあって
    PropertyChangedが無いようだし

    722 = :

    フリーのカラーピッカーってないんですかね?
    無いのなら作ろうかと思うんですが需要あるかな?

    724 = :

    >>723
    厳密ってのがなにかよくわからんがHSVなら一応そのアドレスのもなってね?
    円形がいいってのならそれはだめだろうけど

    725 = :

    >>724
    デバイス依存じゃなくて物理量定義のやつ。
    AdobeRGBとかxyYとかL*a*b*とか。

    726 = :

    >>725
    それもMs-PLで公開してくれるのかな?

    727 = :

    へーこんなライセンスあるのか
    http://www.microsoft.com/japan/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx
    Ms-PLなら使わせてもらおうw
    勉強はしたけどw

    728 = :

    HSVのカラーピッカーってHを変えたら256x256回も毎度計算するんだろうか?
    起動時に計算してプールするにしても無駄にメモリと時間食いそうだし

    一般的な3DCGの頂点カラーさえ使えればポリゴン2枚で正方形作って
    四隅の色だけ計算して後はピクセルシェーダーに担当させればよさそうなんだけど
    SLってその辺どうなんだろ?

    731 = :

    Silverlightで作った物をアップするのにどこ使ってますか?
    xapに対応したところってあんまり無いような・・・

    732 = :

    MIMEが登録されてなくても同じドメインからHTMLで呼び出す分には使えたと思うけど

    733 = :

    html埋め込みでxreaは行けるよ

    734 = :

    Silverlightのソフトウェア・シェーディングは意外なほどサクサク動いてくれたけど
    Moonlightはもっと踏み込んで、シェーダにハードウェア・アクセレーションが効くらしい…。
    http://www.infoq.com/jp/news/2010/11/Mono-GPU

    あっちも独自の進化をしつつ頑張ってるな。

    735 = :

    >>732
    silverlightそのものは一応呼び出してるんだけど真っ白なんだよね
    右クリックするとsilverlight(S)ってでるので一応は読み込めてるんだと思う

    >>733
    それってxamlをhtml内に入れるだけってやつ?

    737 = :

    ピクセルシェーダはJITコンパイルでもやってるのかな
    ベクトル化は当然としても、シェーダのバイトコードをインタプリタ実行してる割には速すぎる気が

    738 = :

    >735
    ジオでOK

    739 = :

    >>738
    ありがとう
    拡張子偽装しないとEZアップロードできないけど
    その辺を対策すればあっさり動いた

    740 = :

    >>737
    何らかの特別扱いはしてるだろうね。

    http://kodierer.blogspot.com/2009/08/silverlight-3-writeablebitmap.html
    WriteableBitmapの10倍速い。
    しかもマルチコア環境だと自動で並列化してくれる。

    741 = :

    >>737
    Silverlightってコンパイル済みのシェーダーしか読めなくなかったっけ?

    >>740
    まあ、ピクセルベースで、ふちのギザギザも取らないでいい、
    毎フレーム自分で計算してドットを埋めてくってのでいい
    っていう条件下での話よ<10倍速い。

    742 = :

    KeyDownのテストをやろうと思ってコード書いたんだが
    どうもFocusが取れてないようでKeyDownイベントが発生しない
    んだけど特別なやり方ってあるのかな?

    コンストラクタに
    this.Focus();
    と書いてもGotFocusイベントすら発生しない・・・

    743 = :

    >>742
    http://msdn.microsoft.com/ja-jp/library/system.windows.uielement.focusable.aspx

    744 = :

    >>741
    コンパイル済みのシェーダは中間言語だよ
    .NETのCILと同じように、実行時にGPUのネイティブコードに変換される
    Silverlightの場合はCPUで動くネイティブコードに変換されてると思われる

    745 = :

    mvvm実装疲れる
    奥が深い分野だよね

    746 = :

    >>743
    ありがとうございます
    うまくいった・・・

    >>745
    まー慣れだよね

    747 = :

    Expression BlendはMVVMだけどコードビハインド使いまくってるね
    Prismのドキュメントにもあったが、ビューの特定の実装に依存するような処理は
    素直にViewに書くべきなんだろうな

    748 = :

    ふー
    html関連を普段やらないので疲れた・・・
    本当はブログにさくっと貼れるとよかったんだが

    749 = :

    >>745>>746
    MVVMのスタイルに従うと、やるべき事が色々と事前に判っちゃうっつーか、
    判っておかないと下手に取りかかれないから、面倒だけど作業が計画的になる
    というメリットはあるよね。

    750 = :

    実行時にクラッシュすることがたまにあるんだけど調査用のログとかそういうのって
    SLの場合どう拾えばいいんだろう?


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2104 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について