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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレMicrosoft Silverlight その7

    silverlight スレッド一覧へ / silverlight とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2104 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    451 : デフォルトの名無 - 2011/01/14(金) 19:21:17 (+57,+29,-16)
    一応もなにもプロトタイプ方式の代表例じゃないか
    452 : デフォルトの名無 - 2011/01/14(金) 19:32:32 (+26,+3,-11)
    OOPじゃないな
    453 : デフォルトの名無 - 2011/01/14(金) 20:08:32 (+28,-13,-13)
    >>446
    インストールしてみた。
    なんつーか…VWD有ればいらねー気がする。
    454 : デフォルトの名無 - 2011/01/14(金) 21:23:27 (+67,+29,-59)
    空のテキストを許さないテキストボックスはどう作ったらいい?
    検証でエラー出すんじゃなくて、空だったらバインド先に反映せずに元の値に戻したい
    455 : デフォルトの名無 - 2011/01/14(金) 21:26:36 (+56,+28,-27)
    文字数見ればいいんじゃないの?
    空=文字数0

    見かけ上文字がなさそうだけどスペースの塊は空ではないよ
    456 : 454 - 2011/01/14(金) 21:29:37 (+100,+29,-39)
    文字数見るのはいいんだけど、
    MVVMなので、どこにチェック入れてどうやって戻すのが適切なのかな、と
    テキストボックス継承するのが簡単かなあ
    457 : デフォルトの名無 - 2011/01/14(金) 21:44:00 (+5,-27,-85)
    ViewModelに、「Modelにバインドされるプロパティ」「Viewをバインドするプロパティ」「両者を結び付けるメソッド」を用意して
    両者を結び付けるメソッド内で、元の値に戻す処理を入れるとかは?
    458 : デフォルトの名無 - 2011/01/14(金) 23:13:13 (+9,-30,-136)
    >>446>>453
    SilverlightにはLightSwitchってのがあるよ。コンセプト的には兄弟みたいな感じかな。
    WebMatrixのすぐ後にリリースされる とか言ってたからもうすぐリリースされるだろう。

    WebMatrixは、HTML UIを使ったHTML/ASP.NET webアプリケーション
    LightSwitchは、Silverlightを使ったLoB(Line of Business)アプリケーションを生成する
    http://www.infoq.com/jp/news/2010/08/LightSwitch
    459 : デフォルトの名無 - 2011/01/15(土) 00:50:43 (+75,+29,-74)
    >>456
    テキストにフォーカスが当たったらテキスト内容を保持しておいて、
    フォーカスが外れた瞬間に内容が何もなかったら保持しておいたテキストを入れるとか?

    フォーカスの当たる外れるっていうイベントありましたっけ・・・
    460 : デフォルトの名無 - 2011/01/15(土) 03:46:53 (+57,+29,-19)
    SLの標準コントロールって、他のコントロールを大量に重ねて作ってるので
    フォーカス関連はかなり鬼門。イベントも少ないし。
    461 : デフォルトの名無 - 2011/01/15(土) 04:44:30 (+16,-30,-105)
    >>456
    「空のテキストを許さないテキストボックス」
    →テキストボックスを継承してカスタムコントロール作成
    GotFocusで値保持、LostFocusで空なら保持した値に戻す

    「ViewModelとして空文字は無視したい」
    →ViewModelのプロパティsetterで空文字はフィールドに設定せずPropertyChangedを呼ぶ

    のやりたい方でいいんじゃね?
    462 : デフォルトの名無 - 2011/01/15(土) 07:52:12 (-1,-29,-19)
    モデルで検証してキャッシュから元の値を取り出して戻す
    キャッシュUndoはフレームワークにこの機能があるからそれを使う
    MVVMの基本だぞ
    464 : デフォルトの名無 - 2011/01/15(土) 11:20:08 (+57,+29,-67)
    プロパティの設定に成功したように見せかけて実際には値が変わらなかったり
    範囲内の数値に丸められたりするようなプロパティの実装は不適切でしょ
    ガイドラインでも禁止されてるはず
    465 : デフォルトの名無 - 2011/01/15(土) 22:45:31 (+62,+29,-47)
    >>442
    JavaScriptはしょうがないよ。

    Adobeの処理系はどれもこれも中途半端で一貫性がないのよ。
    開発環境も、うんこだし関わりたくないんだけど仕事だからやってるって感じかな
    466 : デフォルトの名無 - 2011/01/15(土) 23:02:31 (+57,+29,-69)
    そんなに静的型が欲しかったなら素直にAS捨ててJavaを採用してれば
    Silverlightが出る幕なんて無かったのにな
    なんでわざわざ中途半端なキメラを生み出したのか
    467 : デフォルトの名無 - 2011/01/15(土) 23:36:26 (+57,+29,-39)
    そう思うんならSilverlightにケチ付ける前に
    Java Appletがあるのに、なんでわざわざJavaFXなんて作ったんだ と言ってやったらどうだ?w
    468 : デフォルトの名無 - 2011/01/16(日) 00:31:25 (+4,-29,-38)
    CallMethodActionがあればコマンドいらない?
    全部CallMethodActionでいい気がするんだけど
    469 : デフォルトの名無 - 2011/01/16(日) 02:06:02 (+3,-29,-39)
    >>468
    コマンドの意義は CanExecute の存在だしなぁ。
    それは CallMethodAction では吸収できない。

    あと、CanExecute が不要な状況における ICommand インターフェイスの存在はともかくとして、
    イベントの種類の違いを吸収する層としてのコマンドって概念は必要だと思う。
    470 : デフォルトの名無 - 2011/01/16(日) 07:46:53 (+62,+29,-53)
    AS2ユーザはたくさんいるわけだから、ASを捨てるわけには行かないだろう。
    ASとは違う、まったく別の言語を導入するというのは、Adobeにとってもユーザにとっても負担なので、それは考慮しないと行けない。
    471 : デフォルトの名無 - 2011/01/21(金) 07:55:09 (+62,+29,-93)
    コマンドアクションでコントロールのプロパティ変更するのって、結局全コントロールの
    プロパティにバインド設定しないといけないなら、ものすごい工数増えそうなんですけど。

    デザインとプログラムを1人でやるなら、普通にクリックイベントで変更した方が楽っぽいなあ。

    今回うちはコマンドアクションの採用は見送りたいと思った。
    472 : デフォルトの名無 - 2011/01/21(金) 11:55:29 (+69,+29,-114)
    例えばモデルのプロパティAがTrueの場合はコントロールの色を変えたいとき
    その色のプロパティを定義してバインドしたりしてない?
    コマンド使うかどうかにかかわらず、普通そういうのはコードから色触ったりしないで
    アニメーションとか使ってXAMLで完結するように作るので、バインディングはそんなに増えないんだが
    473 : デフォルトの名無 - 2011/01/21(金) 19:40:12 (+13,-29,-58)
    >>472
    少なくとも「プロパティAがTrueの場合」という条件がある以上は
    プロパティAにバインドしなきゃならないと思いますけど

    画面上の全コントロールのIsEnableを制御する部分とかだと死ぬ気がする
    474 : デフォルトの名無 - 2011/01/21(金) 19:48:33 (+52,+29,-4)
    それはコードで書いても一緒だろ
    475 : デフォルトの名無 - 2011/01/21(金) 19:55:20 (+57,+29,-27)
    コントロールに直接設定すれば1行で済むのに
    コマンド使うなら1行じゃ済まないと思うが
    どこが一緒なんだ?
    476 : デフォルトの名無 - 2011/01/21(金) 20:01:54 (+57,+29,-65)
    その前にコマンド直接関係ないだろ。VMと言いたいの?
    コマンドはコントロールの状態変更を上層に伝える仕組みで
    プロパティのバインドとは逆の話でしょ
    使わないのは勝手だけどまずは正しく理解しようよ
    477 : デフォルトの名無 - 2011/01/21(金) 20:08:33 (+3,-29,-70)
    理解してなくてすみません。

    1.コマンドアクションが発生した時にデータの取得を実行する
    2.データ取得後の処理として、データに基づいて画面のプロパティを制御する

    これはどちらもコマンドアクションの中の処理に入らないの?
    478 : デフォルトの名無 - 2011/01/21(金) 20:14:14 (+43,-29,-152)
    MVVMとコマンドを混同しちゃいかん。
    コマンドに対応する動作は必ずしも別のクラスで実装する必要ないんだよ。
    むしろ、ルーティングコマンドに対するイベントハンドラとしてコードビハインドで実装するのが
    WPFの設計ではもともと本筋。
    コマンドを使うかどうかと、ビュークラスとビューモデルクラスを分離するかどうかは別問題なの。
    たまたまM→VMの通知に都合がよかったからコマンドを利用しただけの話で、
    イベントハンドラからVMのメソッド呼んでもいいしCallMethodAction使ってもいいし
    MVVMにコマンドは必須じゃない
    479 : デフォルトの名無 - 2011/01/21(金) 20:24:34 (+62,+29,-74)
    まじっすか。

    分離する為に、イベントハンドラからビューモデルの関数呼んだらだめなのかと思ってました。
    心置きなくイベント使わせて頂きます。

    しかし、そうするとコマンドやCallMethodAction使う場面がわからなくなったでござる。
    480 : デフォルトの名無 - 2011/01/21(金) 20:31:14 (+14,-29,-47)
    >>478訂正 ×M→VMの通知 ○M→VMの通知
    コマンドやCallMethodActionはコードビハインドを減らすために使う
    なんでコードビハインド減らしたいかというとその方が単体テストしやすくなるからで
    単体テストしないんだったらMVVM自体要りません
    481 : 480 - 2011/01/21(金) 20:34:38 (-5,-28,-4)
    訂正できてない…
    V→VMの通知
    482 : デフォルトの名無 - 2011/01/21(金) 20:38:00 (+57,+29,-29)
    画面制御の要らない処理にはコマンドが向いているという事ですか。
    でも複数の通知方法があると可読性が失われませんか?
    統一されていた方がわかりやすいと思いますけど。
    483 : デフォルトの名無 - 2011/01/21(金) 22:22:58 (+63,+29,-88)
    >>478
    ルーティングコマンドはコントロールと親要素とか、
    コントロールのテンプレートとコントロール本体とか、
    そういう部分向けかと。

    MVVM とはまた別の軸での「関心の分離」。
    484 : デフォルトの名無 - 2011/01/22(土) 00:54:14 (+2,-30,-29)
    どうでも良いが、 "RoutedCommand" なのに
    何で和訳は "ルーティングコマンド" なんだろう
    485 : デフォルトの名無 - 2011/01/22(土) 00:59:28 (-1,+30,+0)
    486 : デフォルトの名無 - 2011/01/22(土) 16:03:54 (+3,-30,-98)
    NotifyOnValidationError=True, ValidatesOnExceptions=True
    でプロパティのsetterで例外が発生したことを通知しています。
    デバッガが無効のときは正しく動作するのですが、デバッガが有効の場合は
    例外が発生したところでデバッガによってアプリケーションが停止させられてしまいます。
    デバッガが有効でも止まらないようにする方法はありますか?
    487 : デフォルトの名無 - 2011/01/22(土) 16:15:28 (-2,-30,-45)
    自己解決しました
    バインド先のsetにDebuggerStepThrough属性を付けることで停止しなくなるようです
    488 : デフォルトの名無 - 2011/01/22(土) 19:51:07 (+3,-30,-172)
    Web開発初心者です。SilverlightでGUIを作成したいと思っているのですが、
    チャートや表はコンポーネントを使用する予定でいますが、MACでも動作する
    コンポーネントってあるのでしょうか?
    候補としてGrapeCityのComponentOneを考えていたのですが、HPに
    【 運用環境 】
    フレームワーク Silverlight 3/4
    OS Windows XP/Vista/7/Server 2003/Server 2008/Server 2008 R2
    Webサーバー Internet Information Services
    ブラウザ Internet Explorer 6/7/8

    とあったので、動作しないのかなと。
    オススメがありましたら教えてください。
    489 : デフォルトの名無 - 2011/01/22(土) 19:58:17 (+9,-30,-81)
    チャートはSilverlight Toolkitっていう公式ライブラリに入ってる
    もしくはASP.NETと組み合わせてMicrosoft Chart Controlsを使ってもいい
    表もとりあえずは標準のGridを試してみて不足なら考えればいいんじゃないの
    490 : デフォルトの名無 - 2011/01/22(土) 20:13:22 (+4,-29,-51)
    >>489
    ありがとうございます。早速Silverlight Toolkitについて調べてみます。
    Silverlightで作成した場合、MACでの動作に特に問題って出ないのでしょうか・・・。
    その辺りが不安で。
    491 : デフォルトの名無 - 2011/01/22(土) 22:15:26 (-1,-29,-36)
    MAC用のプラグインならApple SafariとMozilla Firefoxに対応してるんじゃ?
    492 : デフォルトの名無 - 2011/01/23(日) 04:36:43 (+50,+22,-2)
    ありがとうございます。調べてみます。web開発素人なものですみません。
    493 : デフォルトの名無 - 2011/01/23(日) 09:25:04 (+67,+29,-142)
    Silverlight初心者なのですが、Silverlightを使ってeラーニング的なもの
    を作ろうと考えているのですが、デザイナーに頼まなくても、プログラマー
    がそれなりの見た目で作ることは可能でしょうか?
    また、デザイナーに頼んだ場合、フォトショップのデータで受領し、ASP.NET
    で開発する予定ですが、チャートや表のデザインもデザイナーに頼ることって
    できるのでしょうか?この質問はスレ違いかもしれませんが、
    よろしくお願いします。
    494 : デフォルトの名無 - 2011/01/23(日) 11:24:36 (+55,+27,-14)
    プログラマーとデザイナーの技量による。
    495 : デフォルトの名無 - 2011/01/23(日) 13:14:19 (+6,-29,-5)
    >>493
    expression blend が使えるデザイナを使えばいいと思うのだが。

    最近はいるみたいだよ。
    496 : デフォルトの名無 - 2011/01/23(日) 16:49:16 (-1,-29,-18)
    Expression Blend が使えるプログラマのほうが多いと思う。
    技量はさておき
    497 : デフォルトの名無 - 2011/01/24(月) 12:40:54 (+62,+29,-68)
    TextBoxとかに外部からデータ送るとかって出来るかな?
    具体的には自作のソフトウェアキーボードを表示して、そこで押された内容を
    フォーカスが当たっているコントロールに送りたい。
    Win32の頃はMessage送ってやれば良かったけど、Silverlightで似たような事
    出来るのかなぁ?
    498 : デフォルトの名無 - 2011/01/24(月) 17:05:15 (+36,-30,-49)
    無理
    FocusManager.GetFocusedElement() as TextBox
    でTextを直接編集するくらい
    OOBでWin限定ならCOM経由でキー入力を送ることも可能だろうけど
    そこまでやるなら普通にWPFで作ったほうがいい
    499 : デフォルトの名無 - 2011/01/24(月) 17:51:58 (+62,+29,-3)
    >>498
    やっぱりFocus当たってるコントロール取ってきて、自前でやるしかないよね。
    さんきゅ。
    500 : デフォルトの名無 - 2011/01/24(月) 20:11:45 (+6,-16,+1)
    DDEでやってみてはどうか
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / silverlight スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : - 2104 + 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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