Microsoft Silverlight その7
乙
4 :
デフォルトの名無しさん :2010/11/01(月) 21:10:33
乙
MicrosoftがAdobeを買収してMS FLASHになるからSilverlightを捨てるんじゃないんですか!?
標準規格になるなんて、確かに思っちゃ居なかったが それでも、MSが 「SLよりHTML5に注力します」 って宣言しちまうのはちょっとなあ。
MSの技術なんて危なっかしくて習得できない、ぐらいの話だな
他のとこの技術なんか仕様の段階からして不安定で危なっかしいだろ
>>6 Borlandを買わなかったんだ。無いな。
結局、大袈裟な見出しってことだったのか。 どこもニュースになってないし。
HTML5にも注力してユーザーをかき集めてくれなきゃ、 SLも平行して生きながらえると言う未来はありえんだろ。
このままHTML5と呼ばれるものが一切の障害なくスタンダードになるとしても普及率80%には5年はかかるだろ その5年間を預けられる技術は結局何になるのさ
.NET捨てられるわけないじゃん。
silverlightでの開発は当面続ける。 HTML5用の開発基盤のめどがついた時点で乗り換える。 と、俺はこんな感じかな。 生産性を無視してまで今すぐ乗り換えようとは思えない。 強い要望があれば、スポットでHTML5のRIAを作ることはあるかもしれんが。
皆でWindowsPhone7やろうぜ
Silverlight Team Blog - PDC and Silverlight
http://team.silverlight.net/announcement/pdc-and-silverlight/ ぐぐる翻訳だが
インタビューは正確に報告されている。
私はびっくりした人々と発生する論争や混乱を述べているか理解しています。
これは確かに私の意図はなかったとして、私はそのために謝罪したい。
私が言ったことを拡大するこのポストを使用するようにしたいのですが、
非常に重要な役割をSilverlightについて話が前進しています。
インタビューの中で、私が強調したいのは、いくつかのことを言っていた:
1. Silverlightは、非常に重要な、マイクロソフトに戦略的である。
2. 我々は、Silverlightの次のリリースに一生懸命働いている、
それは、クロスブラウザ、クロスプラットフォームであることを継続し、
WindowsとMac上で実行されます。
3. SilverlightはWindows用のコアアプリケーションの開発プラットフォームであり、
それはWindowsの携帯電話の開発プラットフォームです。
我々はまだ公にSilverlightの次期リリースの発売日を発表していないが、
我々は今後数ヶ月の間にそれについての詳細を説明します。
Silverlightの戦略
私は"我々のSilverlightの戦略と方向シフトしているつもりに集中"と述べた。
このisn'ta否定的な記述をではなく、むしろ、それは業界が変更されている方法と、
我々はしている適応はSilverlightの戦略は、その活用するためにコメントです。
>>20 ひどい翻訳だなと思ったら原文がひどかったw
以下抄訳
インタビューは正しく私の言っていた内容を伝えていたが、
むしろ私のしゃべり方が悪かったので言いたいことが伝わっていなかった。
本当に強調したかったことは
1. SilverlightはMSにとって重要で戦略的な製品だ。
..
私は「Silverlightの戦略と目標地点が移った」と言ったが、それは否定的な意味ではなく、
(HTML5などの登場で)勢力図が変わったことにSilvelrightも適応して長所を伸ばそうということです。
・顧客はその環境でもっともリッチな体験をしたいと思っている。(HTML5では環境を生かしきれないし)ブラウザ外実行などを含めて。
・HTML5は標準化の都合タッチパネルへの適合が限定的で、WebCamなども使えない。WP7向けのチューンならそれができる。
・HTML5はIISとの連携などないしDRM付き動画を流すのは一苦労だろう。こっちにはそれがある。立ち上げも簡単だ。
・しかし、iPhoneにSilverlightは載らない。これはどうしょうもない。HTML5でできないことを除けばHTML5で作るだろうし、Silverlightはそれと争ってもしょうがないから特化するってこった。
まぁ現在のHTML5なんて各種JSエンジン+HTML4のクソ互換性より酷いし 今がそうってことはこれからもそうなんだろう
全然心配するほどのもんじゃなかったな。 ところでブラウザ外実行ってどれほどのもん?なんかWPFの立場がよくわかんなくなってきたけど。
ActiveX使ってオンラインウィルススキャンが出来るように OoBを使ってオンラインウィルススキャンが出来るほどのもん
moonlight4ができるとKDEとwxWidgetsが半分くらい要らなくなるってレベル
勘違いしてた、SilverLight終了と思ってた MSはMS、AppleはAppleってなんのかな
勘違いで騒ぎすぎだろ
HTMLで開発とかやりたくないな。
29 :
デフォルトの名無しさん :2010/11/02(火) 23:22:34
Javascript + HTML5って、タッチパネルにどのくらい対応できるんだろうね。
クロスプラットフォーム化にストイックに対応しないって事は wp7以外では実質終了だろうな
ストイックw
クロスプラットフォームとmonoとの連携は維持するって書いてあるじゃん iPhoneに載せるのは諦めたと明言してるだけで
>>31 笑い事じゃなく、ストイックに対応しなきゃ安心して利用できるフォーマットとして定着するのは
不可能だよ。
ストイックって何ぞ。禁欲的? iPhoneはFlashと同じで、Apple側が乗せたがらないだろう。
だからそれがなんでストイックなの? そこは逆に「貪欲に」と表現すべきところじゃないの?
>>33 独占的なAppleが許すわけない。FlashやMonoTouchすら排除しようとした前科持ちだぜ。
でもHTML5でアプリ作られたら結局今のiPhoneのビジネスモデルは崩れる
38 :
デフォルトの名無しさん :2010/11/03(水) 00:06:51
.xapファイルをwebサーバに上げてアプリを動かしているんだけど、xapを更新しても反映されません... これはブラウザのキャッシュだけで無くてtomcatのキャッシュもクリアする必要があるのでしょうか?
>>35 クロスプラットフォーム対応のためには効率的な仕様や最新技術を
犠牲にしなきゃいけない場合が多いから。
>>39 Appleがそれを絶対に許さないからiPhoneでは動かない。
というだけの話なのにストイック(笑)とか言い出すから馬鹿にされているのが何故理解できないのか。
ストイックの使い所を間違っただけなのにウダウダ言い訳するからおかしくなる
ストマックが痛い
Jobs早く死なないかな
今回の件でJobsは技術進歩を5年遅らせた
Canvasの内側に貼りつけたUIComponent(TextBox等)を Canvasの大きさいっぱいに常に合わせるにはどうしたらいいのでしょうか。
なぜにキャンバス。 Grid なら自動調整なのに。 拡大して欲しいってことなら ViewBox。 手動でやりたければ Width と Height を自分でデータバインディング。
>>47 1x1のGridに埋め込んで無事成功いたしました……
諸事情あってCanvasを使うことが多いのですが、
その際にはデータバインディングの手法も試してみたいと思います。
ありがとうございました。
Canvasのサイズって特に意味はないので 適当に大きなサイズに設定しとけばいいよ
50 :
49 :2010/11/03(水) 11:45:57
ちゃんと読んでなかった 無視して
解凍できなくね?
>>53 つーかそれって従来どおりじゃないのん。
HTML on αな関係のまんまなんだし。
Flashでも同じ事かと。
α on HTMLの間違いだた。
>>53 前スレのラスト〜現行スレの頭で、散々やったろその話。
何の問題も無い。
iOSでFlashやSLがサポートされなかろうが、Win上で動けば別に構わんしなあ。
それで駄目だっつーんなら、.NET Frameworkがそもそも駄目って事だし。
今後はスレートデバイスのシェア率が伸びてく、ってのは解らんでも無いが
それにしたって、Apple一強にはならんだろうし。
MSの人間が否定してる記事は出さないんですね? 死ね
SLの更新頻度を下げるっていうのが誤解を生んでるんだろうね。
Ver4まで来て、ある程度機能も成熟して来たから 更新頻度が下がるのは、当然なのにな
今でさえ、WP7やMoonlightが全然本家に追いつけてないし、開発者も混乱してるのに 今までみたいな異常な速さの更新をこれ以上続けてどうするんだって話だよな 安心させる意味での発言だろ
SLは一年もしないうちのメジャーバージョンアップが批判されつつあったからの発言だろうな 数日で終息したフレームの残り香にまで踊らされる馬鹿って何なの
iPhoneがApple純正かhtml5以外排除という方針になったので、 この方面はsilverlightはあきらめてhtml5でいくよ〜という話が、 なぜかsilverlight撤退でhtml5全面シフトという記事になってしまった。 他のネットニューズやマスコミは後追いしなかったから完全な誤報だと思う。
普通に考えてpなんたらっつー奴の売名行為という結論以外ありえんだろ Silverlight捨てる発言するには全く準備が出来ていないし、タイミングがおかしい
ZDnetやCNETって一貫して底辺のゴミ記事しか書かないから誰も読んでないと思ってたんだけど 存外に一次ソースとして引用されるのなw ここの記事読むのは無能の証だと思ってる。
ちょいと話を変えるが、 SL4時点で足りて無い (SL5以降で盛り込んで欲しい) 機能っつーと、どんなのが有るだろう
Flashと比べてビジュアル面で足りないのは BlendMode 低レベルなテキストAPI
OpenFileDialog と SaveFileDialog には 分離ストレージ内に限定してアクセスするモードが欲しいとか、ちょっと考えた事はある。
Menu、ToolBar、StatusBarが無い事については賛否両論有るが Separator、GroupBoxについてはSL側にも欲しい
印刷で用紙サイズが選べない 日本じゃ割と致命的になりうる
前スレでも出てたが、XPSドキュメントを読み込んで表示する機能。 IEだと、HTML側のiframeで誤魔化せなくも無いが 他ブラウザだと、そういう訳にも行かんし。
機能強化も良いけど、やっぱ何がしかのキラーアプリが出て欲しいなー。
完成済みのバグの少ないリッチテキストエディタ SL4デモで喧伝されてたから期待してたら、実装すると言ってたのはただのリッチテキストボックスって事を思い知らされて泣いたわ 一体何万人にエディタ部分を再発明させる気だよ
SL自体というより、Toolkitの方だが 今後の新規参入者向けに、MVVM用のプロジェクトテンプレートはちょっと欲しいかも知れない
blendで似たようなのが既にあるな
SLから逃げ出そうとしてる人って次何やるの? やっぱObjective-C?
.NETが良くてSilverlightとC#使ってるのに、なぜObjective-Cなんぞ使わねばならんのか。 iPhone OSターゲットならMonoTouch使ってC#で開発する。
別に今まで通りSLで行けるだろ、iPhoneなんか気にしてないし
みんなSLで行くつもり? もー全部SLで行った方がええのかな
俺もずっとSLで行くつもりだけど、幅広い意見を得たいのであれば SLスレじゃなく、どっか別の (もうちょい汎用的な話題を扱う) スレで訊ねた方が良いんじゃないか?
作るもの次第だろ。 今までのデスクトップアプリのノリなもの作りたきゃSilverlightがいいし、 コンシューマー向けのサービスならやっぱ基本は HTML ページで、 部分的に Silverlight 使ってもいいかも、くらいだと思うし。
どっちみちSilverlightやるにしてもJSやHTMLは必要でしょ
必要だね
おすすめの本って何かある?
Windows Phone 7大コケみたいだな。 このままだと撤退は確実で、そうなるとSL使う場所が消滅するぞ。
消滅も何も、WinXP/Vista/7でそのまま使えばいいんじゃねーの。 WPFじゃなくても良い場合 (SLで十分な場合) ってのは有るし。 Win8は明後日の方向に行きそうでちょっと不安だけどな('A`)
仮にWP7がコケても開発者にはあんまり影響ない。期待してた人(俺とか)は残念だろうけどそれだけの話。 Silverlightの知識そのままWebに戻れる。 デスクトップに行くならSilverlightのOut of Browserが使える。短期間でWPFも使えるようになる。大抵の人はWinFormsも使える。 モバイル開発を続けたいならC#の知識をそのまま使って、MonoTouchでiPhone/iPad、MonoDroidでAndroid向けの開発ができる。
ちょっと卑怯な言い方だけどDisってるわけではないので、と前置き
俺はNEなんで社内では自社業務アプリくらいしか書かない趣味PGなんだが
そういう立場では
>>89 はその通りだと思う
ただ仕事としてやるならプラットフォーム自体がコケてしまうのは大きいと思うんだよね
つか、まだ日本でコケたわけじゃないじゃん!
91 :
デフォルトの名無しさん :2010/11/13(土) 23:17:58
始まってもいないなw 始まれるのかわからないけどw
動き出してるけどまだ離陸してない戦闘機みたいな。 離陸直前に奇襲してきた敵にぶっ壊されて活躍しないままENDとか。
>>87 鵜呑みにすんな。
Androidよりは幾分好調って話もあり、
在庫切れだという話ももあり、
どれがほんとかよく分かんない。
1つ言える事は、ピピンの4万台は無事超えるであろうって事。 次の目標は初代Xboxの日本での販売台数(50万台)。
ピピン・・・ 4万しか売れなかったんだw 任天堂の赤い双眼鏡は?
似たようなサービスで360のインディーズゲームはそこそこうまくいってるんだよな むしろXNAを中心にして売り出していく方がいいのかもね
>95 ググレカ(r Wikipediaを信じるなら、77万台(128万台出荷)らしい。 その他有名どころを分かった分だけ。 Lynx 200〜500万 ワンダースワンシリーズ 350万 NeoGeoポケットシリーズ 200万 3DO 200万 PCエンジンGT 150万 PC-FX 10万以下 ジャガー 25000台以下 あとMSの関連製品は Xbox 2400万以上 Xbox360 4460万以上 Zune 300万以上 Kin 数千 (503台という噂も…)
車輪の再発明の癖に 機能が足りない、出来が悪い
MSの凄さはあきらめないことだな。
SL5は何時くらいになるんかねえ
予めFonts.SystemTypefacesからフォントファイル名を取り出してcomboboxに入れて、フォントファイル名が選択されたらそのフォントでtextblockに描画するっていう処理をしたいんですけど、 combobox側で選択されたときの動作として foreach(Typeface type in Fonts.SystemTypefaces) { GlyphTypeface g; type.TryGetGlyphTypeface(out g); if (g.FontFileName == (string)comboBox1.SelectedItem) { textBlock1.Text = "てすと"; textBlock1.FontSource = new FontSource(g); (1) } } って書いたら(1)のところでnullreferenceって怒られたんですけどさっぱり原因がわかりません どなたか助けていただけませんでしょうか
>>101 昔みたいなハイペースはたぶんもうなく(安定期入り)、
.NET と同ペースかもねぇ。
だとすると、たぶん2012年。
あと、最近は小出しにする傾向があるんで、
Silverlight のランタイム自体は進化なくても、
コントロールとか RIA Services みたいなのは逐次リリースだと思う。
>>99 あきらめることをきめたときの
逃げ足の速さも凄いけどな。
J++の悪口はそこまでだ
良いじゃないの。 諦めること決めておいて引っ張っても金と時間の無駄でしょ ところで、SLのタイマー精度悪すぎなんですけどこれってどうしようも無いんですかね?
「どの程度の精度」で悪いと思ってるのか訊いておこうか。 予想では10ms〜16ms以下?
ゲーム系の人かな? 昔、Windows のタイマー精度じゃゲーム作れないよ!って言われ、 メッセージループ自作する人続出。 ↓ マルチメディアタイマーができる って歴史があったし。
>100ms で設定して呼び出されるたびにカウントアップ 単に +1 するんじゃなくて前回呼ばれたときの時間との差分を + するんだよ
DateTime.Nowを使って呼び出されるたびに前の時間と比較してそれの差を加算するんですね。 なるほど。 C#とかだったらそんな感じでタイマーからで十分な精度出せてたので、そういう風とは気づきませんでした。 ありがとうございました!
ついでにいうと、System.Diagnostics.Stopwatch クラスってのもあるよ。
って、SilverlightにはStopwatchないのか・・・ まあ、Silverlightのタイマー精度が低いというか、 プロセス優先度が低い。
>>111 >C#とかだったらそんな感じでタイマーからで十分な精度出せてた
いや危険。場合によっては見直すべき。
システムがビジーになったりして、もたもた
したらどうせずれてしまうから。
>>113 タイマーの精度はfpsに連動してるだけだよ。優先度の問題じゃない。
Silverlightのタイマー系は、画面更新のタイミングでしか更新されない。
それって優先度が問題じゃねーの?
>>115 そんなとこまで Flash リスペクトなんだっけ?
Flash のフレームベースよりは、もう少し時間ベースだったような。
それは WPF だけ?
描画のタイミングに依存するのはDispatcherTimerだろ。 UIを触るためのタイマなので、メインスレッドからしかUIを触れないという制限がある以上 必然的にそうなるし、それ以上の精度は意味がない。 WPFでもWinFormsでも一緒。
>>118 Silverlightはメイン以外のスレッドのThread.Sleep()すら、描画タイミング依存。
例えばSleep(10)のループは、62.5fps設定だと16msと0msを繰り返して
平均で10msになる。
120 :
119 :2010/11/17(水) 16:31:50
外からデモ見ただけで分った気になって大嘘こかれても困りますな
社内用アプリでこれ考えてるけど、帳票ってどうするの? Crystal?SSRS?ActiveReport?
自前で印刷機能持ってる
ホンマですか!罫線とか大変じゃないやつ?
帳票はReportingServices使えよ
>>125 そっか。まだまだっぽいね。いろいろありがと。
>>126 ACCESSみたいにプログラムで制御しにくくて、扱い辛いよ。
プロパティの設定が効いたり効かなかったりよく分からない。
Silverlight4のコンボボックスで、Accessのマルチカラムコンボボックスのような表現を行いたいのですが (例:フィールド社員CD、社員名、を持つ社員マスタとバインドさせて、ドロップダウンリストに社員CDと社員名を行単位で表示) どのように記述すればいいのでしょうか?ご教示お願いします。
131です、ItemTemplate使えばよかったんですね・・・スレ汚し失礼しました
SLがこの先生きのこるには
Silverlight、クロスプラットフォーム戦略捨てたことでかえって生き残る筋道はっきりしたと思うけどね。 今後の MS 技術の中核。
>>134 捨ててはないだろ。
一部はあきらめただけで。
>>135 その一部あきらめが思った以上にでかいと思うよ。
GUI、しかもそれなりにリッチなもののクラスプラットフォームはほんときつい。
それよりは、Win 限定とかでいいから COM interop とか持ってる方が方向性正しいと思う。
クライアント専用簡易.NETと割り切るならそれはそれでニーズはあると思う
138 :
デフォルトの名無しさん :2010/11/30(火) 21:26:15
釣りじゃないのかよ! こんなアプリでこれからの方向性が決まりそうで怖いw
台湾といいこれといい、何でこういう方向で流行らせようとするんだw
むしろjpgやpngを出力する方法が知りたいのだが……
実作業的な話でいうと、Formsの頃こうやってたのはWPFではどうするの?の対訳表みたいなの欲しい。 もっと上流な話でいうと、UXで必要なことが分からないからWPFの使いどころが分からない。 ってところかね、よく見る話題だと。
MVVMもXAMLも完全無視ならWinFormsと変わりません 今までどおりデザイナでコントロール貼ってイベントハンドラ書くだけ
>>145 いや、もっと細かいレベル。
メソッドの対訳表とかそんな粒度。
VS2010のオンラインテンプレートのSilverlight Sidebar Gadget使ってる人いますか? 何も編集せずにデバッグ実行するとサイドバーが怒るんだけど仕様かな?
SL5、OutOfBrowserでP/Invoke可能になるってよ
これ以上どこを進化させんだよ。と思ってたがこれはまた凄いな。
自動UIテストはどんなのだろ?
他に気になったのはこれくらいかなぁ Tracking/leading set precisely how far apart each character Postscript vector printing double-click ComboBox type ahead WS-Trust Host HTML content as a Web browser control (trusted) Launch Microsoft Office and other desktop programs full keyboard support in full screen
P/Invokeまでサポートって本気でWPF食いにきたw
逆に考えるんだ。 WPF からほぼノーコストで Silverlight OoB に移行できるなら、それは WPF だ。
もはやClickOnceの新バージョンって認識の方が近いのかもしれんw
吹っ切れたなw もうFlexなんか勝負にならんね
>>160 この進化速度は、Flash 10.2がモタモタしてたらAdobeもあまり慢心できない程だな。
163 :
デフォルトの名無しさん :2010/12/03(金) 21:43:13
もうすぐもう一人増えるだろうし胸熱
5のデモは3Dエロゲですね
嫌いなもの:青葱w ケンカ売ってるww
大阪焼
血液型がみんな違うってのはどういう
マスコ板に出てるけど両親がA型とB型だったら可能性がある
AO型とBO型だったら、AO/AB/BO/OOが同じ確率で生まれるね。
P/Invoke Launch Microsoft Office and other desktop programs これどこまでできるのかな。 RとかFFTWとか使いたいんだが。 あとgccを走らせたりしたい。 そういえばWPFのDIFFツールはあったっけ? マルチプラットフォーム物はkdiffがあるから足りるという説もあるが。 ところで、次女がお好み焼きで三女がたこ焼きかよw 大阪一家ということか。
ののたん
パンダが溺れてる絵はどこへいった?
>Silverlight offers a new class of trusted applications that brings desktop capabilities to the browser for the first time. この辺は「ユーザーが許可したらOutOfBrowserじゃなくても実行できる」てことで良いのかな。 Webブラウザ機能とかofficeとかCOMコンポーネントとか
台湾MSのブラウザ外動作のサンプルみたいなやつ起動するとマウスが動かないようになってしまった。 最初大丈夫だったはずだけど何が悪いんだろうなあ
COMとかP/Invokeとか始めてしまうと、マルチプラットフォームからは完全に外れてしまうな 技術的には面白いと思うけど
P/InvokeはMacだとどうなるのかは気になる
dll が so になるだけじゃないの?
今でもCOM使えばプロセスの起動くらい出来るだろうけど、COM配らないといけないのがネックだよなぁ。 それを、しなくてよくなるのは大きいかも
>>182 完全マルチプラットフォーム、ただしプラットフォーム固有の各機能は使えない
→ HTML5
それなりにマルチプラットフォーム、メディアの高度な制御, DRM, LOBアプリの
素早い実装
→ TrustedでないSilverlight
Windows依存、プラットフォーム固有の全機能を開放、Webからの容易なデプロイ
→ Trusted mode の Silverlight
要するに使い分け。
>>185 WSHのScriptControl使うのが簡単
だいたいなんでもできる
いやー、よくできたタッチインターフェースのデモだなぁ
InkCanvasに透明色を上書きするようなことができりゃいいんだけどなあ
Silverlight 5、64bit対応が地味に嬉しい
sidebarでSilverlightやFlashを使う際、32bitOSなら特に問題なかったけど 64bit板だとプラグインで対応してなきゃならないんだよね
>>189-190 昭和40〜50年代でいう、エロ雑誌の袋とじ写真にバターを塗る感覚の再現だな。
黒塗り修正がバターで消せるっていう噂があったんだよ
197 :
デフォルトの名無しさん :2010/12/07(火) 18:10:58
>>196 それ油性マジックで後から塗ってある場合じゃないの?
よつばとでもとーちゃんの顔に落書きしたときにそんなネタあったな
で袋とじは印刷段階で潰してあるから期待してる元情報はそもそもないだろw
そりゃそうなんだけど 情報の乏しい昔はそんなもんだったんでしょwwwwww
黒ベタが真ん中に印刷してある透明なシールの付録があったな。
slも3Dアクセラレーション対応するのか flash,WebGLといいwebの3D化が一気に来るな
silverlight4を勉強中なんだけど、バインディングがわけわかめ msdnの解説読んでもcodezine のサンプル見ても、全体感がツカメネェ どっかに解りやすいサンプル転がってない?
WPFのバインディングを調べる だいたい一緒
Flash にもバインディングあるんだけどもねぇ。 使いこなしてる人あんまりいないみたいで。
なんで Silverlight には ICustomTypeDescriptor ないのかねー。 深い参照があるモデルを平らにしたり、個別に PropertyChanged を発行する時に便利だから、WPF で使ってたんだけど。 IDynamicMetaObjectProvider で代用するしかないのかな。 動的に要素が変わるわけじゃないから、そこまでの機能はいらないのだけど。
System.ComponentModelはWinForms用の仕組みでWPF系ではガン無視されてるでしょ IDynamicMetaProviderの実装はDLRの知識が必要でけっこう難しいので DynamicObjectから継承するのが簡単
206 :
204 :2010/12/09(木) 23:15:26
>>205 WPF の Binding では ICustomTypeDescriptor もサポートされてるよ。
DynamicObject から継承できたら良いんだけど、既に基底クラスがあるから継承できないんだよね。
探したらサンプルがあったから、何とか出来そうな感じ。
にしても、ややこしいね。これは。Linq と同じでわざわざ構文を組みたてにゃならんのね。
何かwebアプリ作りたいんだけど、これとC#を覚えれば大抵のものは作れたりする?
無理
オゥ… それは残念
210 :
204 :2010/12/09(木) 23:25:13
ああ、DynamicObject を継承したラッパー作って、そいつの GetMetaObject を返せば簡単か。
>>207 想定してる Web アプリってのが、どんなものかによるよ。
ブラウザと連携して、HTML を動的に変更したいってのなら HTML, CSS, JavaScript の知識も要るし。
自前でサーバー立ち上げてデータを加工したりするんなら、ASP.NET や PHP の知識も要る。データベース使うなら SQL の知識も必要。
単に他のサービスからデータ抜いてきて、Silverlight の中に表示するってだけなら、それだけでも作れる。
DynamicMetaObject実装したらリフレクションに比べると爆速だけど 実質的に小さなコンパイラを書いてるわけで糞面倒 どうせバインディングが重いんだから速度とか意味ないし
>>210 SilverlightはDynamicObjectのバインディングも動かなかったような。
そうだね、WPFのみのサポートだね
214 :
204 :2010/12/09(木) 23:57:57
ぎゃー、そうなのか! じゃあ、ラッパーが欲しかったら、T4 でも使ってコード生成するしかないのか。
やってることはMVVMだろそれ VMは手書きかコード自動生成が普通
216 :
204 :2010/12/10(金) 00:44:24
コンパイル後のアセンブリを参照してコードを生成すればいいだろ それならT4TTのDSLに全メンバを手で羅列したりしなくて済む
静的言語のくせに、ビルド時生成よりも動的生成の方がやりやすい現状どうにかして欲しいなぁ。
Silverlight4ってコンパイルした.xapをapacheに配置しても 動きますか? IIS必須ではないですか?
RIAなんだから動くに決まってるだろ Flash動かすのにメディアサーバ必須ですか?とか言ってるようなもん
mimeの設定すれば動くはずだよー
MIMEの設定すら必要ないでしょ。 クロスドメインホストのときだけMIMEの設定が必要みたいだけど、 その情報ってSilverlight2のドキュメントにしか書いてないっぽい。 >XAP ファイルがホスト HTML ページ以外の異なるドメインから提供される場合、 >Silverlight は HTTP 応答で返される MIME の種類 (Content-Type 応答ヘッダー) が >application/x-silverlight-app であることを確認します。
silverlight4からASP.NET上のセッション情報って 読めるでしょうか?
ASP.NET上で読めるんだったら送ればいいじゃん
送るというのはwebサービスのような方法で SilverlightがHttpRequestをするといった感じでしょうか?
androidとiOS対応はされるんでしょうか? マルチプラットホームのはずなのに。 現状airのほうが最強なような…
airは眼中に入ってないわ。 あんな作り辛い環境でよく仕事できるな。
airはandroid限定だろ。 silverlightもWP7限定だ。 ただし、Moonlight/Monoの進展いかんではAndroidにも載る。
airはiOS対応したよ、symbianも。ガラケーやWPも将来的に対応するらしい。 作りづらいってのも過去の話じゃない?IDEはVSと遜色なくなってきてるぽい。 俺は.NET大好きだし今さら他へ移るの面倒だ。 でも、冷静に考えたらairに完全敗北してる気がしてつらい。 サードパーティの対応も2Dなんかの表現力もネット上の情報量も 資産の再利用性も。皆の考えるsilverlightのいいとこ教えてよ。
>IDEはVSと遜色なくなってきてるぽい ないない。 言語(AS3)もイマイチだしねえ。
>>230 隣の芝は青いってやつだ。
WindowsターゲットにおいてはSilverlightとは全く勝負にならないわけで、HTML5の足音に怯えるFlashを背負ってモバイルに活路を見出すしかない。
一方Silverlightは5の新機能からも明らかなようにairとは方向性が違う。HTML5とも得意分野を分け合って共存しそうな感じ。
まぁ、そんなにモバイル開発を重視するならair使えばいいんじゃねーの?
使い辛いIDEとAS3に泣いてから続きを考えても遅くはない。
Silverlightは第2のVB6になると思われる。
下位互換は、どこまで頑張って対応し続けてくれるんだろうねー SL5でもSL2は、下位互換の下位互換の下位互換モードで動くのかな
MSだから下位互換性に関しては心配いらんだろ。
RIAサービスで聞きたいことがあります DomainContext の SubmitChanges で エンティティの変更を 送信するわけですが、変更を検知しない方法とかありますか? public class Customer { [なんらかの属性?] public bool check { get; set;} [Key] public string id { get; set;} public string name { get; set;} } このクラスを配列にして DataGrid に突っ込み、 チェックボックスのカラムでチェックの ON / OFF を 変更として検知したくないのです。 もちろん id や name は検知したいです。 check のプロパティに何か変更を検知しなくなるような 属性とかつけるんでしょうか。
checkはエンティティに含める必要あるのか? checkedの列はバインドしなきゃいいんじゃないの
Microsoft Silverlight 4.0.51204.0
MediaElementとボタンを貼り付けて動画を再生しようと 思ったのですが何も表示されません。 何か問題があるでしょうか? private void button1_Click(object sender, RoutedEventArgs e) { this._me.Source = new Uri(@"c:\hoge.wmv", UriKind.Absolute); this._me.Play(); }
>>237 なるほど、バインドしなければ直接 DataGrid を調べる必要がありますが
いけそうですね、やってみます
>>239 ローカルファイルにアクセスするのはOOBの権限昇格モードでないと無理。
OOBの権限昇格モードでもドキュメントフォルダの下にあるファイルにしか触れない。
だからってWeb上の動画を再生しようとすると多分嵌るので念のため言っとくと、
Web上にあってもSilverlightが貼られてるページと異なるドメインにあるファイルにはアクセスできない。
それと、デフォルトではSourceを設定したらロード後に自動的に再生されるからPlayはいらん。
>>241 さんくすこ。
うーん。やっぱだめだなぁ。動画ファイルが問題なのかも。
あきらめてFlashでやることにしました。
>>242 当たり前の話だが、セキュリティにかかわる問題でアクセス制限が掛かっているのから、
当然ながらFlashにもできない。というかアクセス出来たら大問題。
AIRなら出来るけどSilverlightのOOBの権限昇格のほうが楽。
Flashでwmvなんか再生できないし セキュリティ制限について言えばFlashも同じだぞ
Flashは慣れてるのでできるんです。 Silverlightをやってみようと思ったけど なんかうまくいかないんで挫折しました。
だったらFlashでWMV再生してみろよw
flvに変換するのでもーまんたいです。
意味が分からない 変換してもいいんだったらなんでローカルファイルを直接読む必要があるのか Silverlightでも動画ファイルをパッケージに直接入れてしまえば問題なく再生できるんだが その調子じゃFlashもロクに使えてないんだろうな
そこそこ使えればいいってこともある。 よくわからないがFlexでああいう手順を踏めば動く、 ということを知っていれば動かせる。 日曜プログラマならそれでいいし、 保守作業を全部人力でやるなら受注さえできる。 大口の受注は無理だろうけどね。
最初はwmvファイルをプロジェクトにドロップして 常にコピーにして this._me.Source = new Uri("hoge.wmv", UriKind.Relative); ってしてたんだけど再生されなかったのでいろいろやってみた次第です。 でも全然表示されないのです。 なんでかなー。
Flashでならニコ動みたいなの作りましたよ。
それhoge2.wmvをWebサイトプロジェクトの方に置いてるだろ パッケージに埋め込むならファイルはWebサイトのプロジェクトじゃなくて Silverlightアプリケーションプロジェクトの方に追加して ビルドアクションをコンテンツに設定する必要がある
うーん。むりぽ。 まあいいや。これでニコ動も作れそうだし。
おお。できました。/が必要だったみたいです。 this.mediaElement1.Source = new Uri("/hoge2.wmv", UriKind.Relative);
>Web上にあってもSilverlightが貼られてるページと異なるドメインにあるファイルにはアクセスできない
普通に読めたよ。こういうことじゃなくて?
Flashでは外部サイトのflv読めるしどゆこと?って思ったけど読めてよかった。
this.mediaElement1.Source = new Uri(@"
http://xxx.xxx.xxx/xxx/xxx.wmv ", UriKind.Absolute);
OOBでHtmlPage.Window.EvalでJavaScriptを気軽にいじりたいのですが、 OOBではDOMブリッジが有効でないために動かすことができません。 OOBでもブリッジを有効にしたり、制限を回避して動かす方法はありますでしょうか。
今 silverlight 3 の入門書で学習中の身なんだけど、 DirectX を使ったピクセルシェーダのサンプルが結構ある。 DirectX なんか使ったら、マルチプラットフォームじゃなくなると思うんだけど、 その辺はどうなの?
基礎的な概念はそれほど違いはないでしょ 細かい使い方とかが変わるだけで似たようなAPIはあるし
基本ソフトウェアシェーダで、 明示的に指定すればGPUアクセラレートを有効にできる、 という感じだから、マルチプラットフォーム的にはあまり問題無い。
>>258 ない
>>259 Silverlightのピクセルシェーダはソフトウェア処理で、DirectXは(直接は)使ってない。
どんな入門書なんだよ
>>257 クロスドメイン設定が最近はされてるから別ドメインから読めないんだよね。
その設定してなかったらセキュリティの問題で良くないんだけど、
してないところもあるから、そういうところは読める。
クロスドメイン設定してなかったからと言って自分の管理してない別ドメインのFLVとか勝手に読むのは裁判沙汰になってもしらないよ
完全にスレチだわ
MSの更新でsilverlightをアップデートしたのですが視聴出来なくなりました。どういうこと?
しらん どこのサイトの話かわからんけどサイト運営者に聞け
Silverlightアプリケーションを1ページに1000個くらい 載せると重くなるかな
データグリッドに行を追加したいんですけど Rowsがありません。どうすればいいでしょうか? DataGridTextColumn dgtc = new DataGridTextColumn(); DataGridLength dgl = new DataGridLength(100); dgtc.Width = dgl; dgtc.Header = "ほげ"; this.dataGrid1.Columns.Add(dgtc);
>>264 逆。通常読めない。クロスドメイン許可してあれば読める。
ただしMediaElementのSourceプロパティについてはクロスドメインアクセス可。
でもほんとに再生するだけで、それをプログラムからどうこうすることはできない。
>>269 ItemsSource
基本的にバインドして使う
class MyRow : INotifyPropertyChanged { public ほげ { get; set; } /*PropertyChangedの実装は略。ほんとは自動プロパティでは書けない。* } みたいなクラス作ってObservableCollection<MyRow>に突っ込んでItemsSourceに設定すればいいだけ。 Columnもコードから追加したりしない。XAML使えばバインディングは簡単。
XAMLは嫌いだなー
IDEからbindも指定できるから、とりたててめんどくさいことはないような?
VS10でXAML書いてるけど、インテリセンスが賢すぎるから、 プログラムを書いてもらってる感じがする。 素のエディタだと書けない気がする。
XAMLに限らずXMLなんか手書きするもんじゃない VS使ってると、スキーマがあるとインテリセンスが効いたりするし スキーマ自体を書くときもやたらとインテリセンスが効くけど そういうのが無いと全く書ける気がしない
>>275 C#のコードもな。
表示されるヒントを参考にしながら進むアドベンチャーゲームのような感覚w
XAMLのPathと等価なものをC#のコードで書きたいんだけど、 書けるのかな? XAML だと文字列で表現できるけど、C# だとやたら複雑で 書ける気がしない。 C#で書き直す意味は、XAML だとコードを理解した気がしないから。
そこでWPFのドキュメント出すのは不適切だぞ。WPFならC#で書ける。Silverlightでは無理。
そのうちギャルゲフレームワークとか提供されそうだな
LightSwitchが出たらVBerが流入するんだろうな Silverlight版Access/VBAとか悪夢すぎる
昔からエロはキラーコンテンツになるっていうしな もしかするとあるいは
>>283 なぜSilverlight版だと悪夢なのかさっぱりわからん。
Win7のタッチパネルで、Silverlightを動作させてるんだけど、 ScrollViewerってデフォでタッチでスクロール出来ないもの? C++で書いたものはスクロールビューとか、勝手にタッチで慣性 スクロールサポートされるんだけど、Silverlightは自力でコード 書かないとダメなんかしら?
慣性スクロールとかウザイだけだから
それは、あんたの主観。 慣性スクロールも、もてはやされるそれなりの理由があるんだぞ?
指で弾いただけでスルスル見れるから楽だな 見たいところは指で押さえてピタっと止められるし
291 :
287 :2010/12/28(火) 08:43:35
ちなみにマルチタッチは取れた。 それで自力でRenderTransformを操作してやってる。
292 :
デフォルトの名無しさん :2010/12/28(火) 14:39:30
Silverlight4の公開について。 WCF RIA サービスのDomain Service Classを使って SQL ServerからGridにデータの一覧を表示させていますが、 開発環境(デバッグ)では表示されるけど、 VS2010で発行-ファイルシステムで作ったものをサーバに持っていき ブラウザで確認するとDBの接続でエラーがでます。 サーバは2003でIISでSilverligth動かしてますが何か他に設定必要でしょうか? IISでWCF RIA サービスが動いてない?
タッチの件、WPFでもダメだった。 そういう仕様なのかも。
>>292 Silverlightの公開なんてサーバーにxap置いてHTMLにURL貼るだけ。設定もサービスもクソもない。
Silverlightアプリ自体は正常に読み込まれて動作しているが、接続に失敗するんだったら
そんなのSilverlightとは全く関係の無い問題でしょ。
>>294 のはずなんだけど、動かないし原因なんだろう?
何か見落としてないか教えて欲しいな。
クロスドメインアクセスポリシー
まず正確なエラーメッセージを張るところからスタートだ
じゃあ、お言葉に甘えて System.ServiceModel.DomainServices.Client.DomainOperationException: Load operation failed for query ' '. リモート サーバーが次のエラーを返しました: NotFound。 ---> System.ServiceModel.CommunicationException: リモート サーバーが次のエラーを返しました: NotFound。 ---> System.Net.WebException: リモート サーバーが次のエラーを返しました: NotFound。 ---> System.Net.WebException: リモート サーバーが次のエラーを返しました: NotFound。 場所 System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 場所 System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState) 場所 System.Net.Browser.AsyncHelper.<>c__DisplayClass2.<BeginOnUI>b__0(Object sendState) --- 内部例外スタック トレースの終わり --- 場所 System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state) 場所 System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 場所 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result) --- 内部例外スタック トレースの終わり --- 場所 System.ServiceModel.DomainServices.Client.WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult) 場所 System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult) 場所 System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult) --- 内部例外スタック トレースの終わり ---
このエラーの何を見てDBエラーだと判断しましたか?
300 :
デフォルトの名無しさん :2010/12/28(火) 19:35:36
そのフォントは埋め込んでる? 文字コードはUnicodeしか使えないけどそれは考えてる?
埋め込みは一応試してみたけど変化なしだった(□が表示される) やり方間違ってるんかな? <試した方法> ・Expression Blend4から、外字用に使ってたフォントファイルをプロジェクトに追加する ・コントロールのフォントプロパティのところにEUDCって出てきたので、それを選択
文字コードがUnicodeしか使えないというのは、VS2005も同じですよね。 VS2005のASP.NETでは普通に表示できてますけど。
>>298 IISでWCF使える設定にしてないんじゃね?
・WCFで通信できるか?
・サーバーサイドはDBに問題なく接続できるか?
の切り分けをまず、した方がいいんじゃね?
>>298 このエラーは前に見たこと有るよ。ローカルPCで開発する時はWebサービスのURLが
localhostになってて、サーバーにアップしてもlocalhostのままになってる。
ServiceReference.ClientConfigを書き換えればいいんだけどこれが面倒なので、
クライアント作る所でプログラムで判断して切り替えたりしてますよ。
それとうちはIIS6なもんで、XAPの拡張子をMIMEタイプ登録してなくてエラーが出たりしたよ。
IIS7は規定で登録されてるらしい。
WCFのエラーは何でも >リモート サーバーが次のエラーを返しました: NotFound ばかりでエラーメッセージじゃわからん
>>300 どんな文字が駄目だったん?(↓は取り敢えず大丈夫だった)
<html><head><title>Inline XAML</title></head>
<body>
<script type="text/xaml" id="xamlContent"><?xml version="1.0"?>
<Canvas xmlns="
http://schemas.microsoft.com/client/2007 " Background="White">
<StackPanel>
<TextBlock Text="[ JIS X 0208 ][ NEC特殊文字 ] の重複文字" />
<TextBlock Text="≒≡∫√⊥∠∵∩∪" />
<TextBlock Text="[ JIS X 0208 ][ IBM拡張文字 ] の重複文字" />
<TextBlock Text="¬" />
<TextBlock Text="[ NEC特殊文字 ][ IBM拡張文字 ] の重複文字" />
<TextBlock Text="TUVWXYZ[\]gх" />
<TextBlock Text="[ NEC選定IBM拡張文字 ] の一部" />
<TextBlock Text="@ABCDEFGHIUVWK\" />
<TextBlock Text="[ サロゲートペア ]" />
<TextBlock Text="か? " />
</StackPanel>
</Canvas>
</script>
<div id="silverlightControlHost">
<object type="application/x-silverlight" width="100%" height="100%" id="slc">
<param name="source" value="#xamlContent" />
</object>
<iframe style='visibility:hidden; height:0; width:0; borer:0px'>
</iframe>
</div>
</body></html>
書き込んだらサロゲートペアが文字化けした('A`) U+304B、U+309A ね。
>>308 なんていうのかな、外字ってあんまり詳しくないのでうまく説明できないんですが
Windowsメニューのアクセサリの所に外字エディタってあるじゃないですか。
あれで作った外字を全てのクライアントにインストールして使ってるんですよ。
自分が試しでやってみたのも多分その外字エディタで作られたフォントファイルだと思う。
>>305-306 ありがとう。
やっぱり、IISでWCF使える設定ってのがあるの?
実は
ttp://d.hatena.ne.jp/okazuki/20100529 のサイトのソースを発行して
サーバにおいてアクセスすると同じ様なエラーが出てたのでWCFがらみが濃厚みたいですね。
xapの中にServiceReference.ClientConfigがある様な記述を見つけましたけど
解凍して中見てもみあたらず関係ないと思ってました。
で、xapのMIME登録はしてあります。
また、明日試してみます。ありがとうございました。
>>310 外字ってそれか。。
U+E000 に適当な字形を登録して試してみたが、俺も出来なかった。
(VS2010及び、インラインXAML+IE8の両方試行。
"EUDC.EUF" 及び "EUDC.TTE" を抽出して、xap内に埋め込んでみてもアウト。
俺の指定が悪いだけかも知れんけど)
"C:\Windows\Fonts\GlobalUserInterface.CompositeFont" を編集すれば
ひょっとしたら、該当PCでは表示出来る様になるかも知れんが
そこまでは試していない。
個人的な推奨は、外字を使わない & 使わせない事だと思う。
Vista以降、アクセサリ欄からも抹消されてるからな >外字エディタ ファイル名を指定して実行 → "eudcedit.exe" で使う事は出来るが、管理者権限求められるし MS的にも、やっぱ非推奨なんじゃないか?
>>311 WCF自体が.NetFrameworkの機能だから
IISで.NetFrameworkを使えるようにしないといけない
IISをインストール→.NetFrameworkをインストールの順で入れれば
.NetFrameworkのインストーラが勝手にIISとの関連付けをしてくれるよ
逆の順番でインストールした場合
コマンドプロンプトからIISとの関連付けツールを実行する必要がある
関連付けを済ましたあとは配置するサイトのアプリケーションプールを設定するだけでいけたはず
Domain Service Classを使った場合はClientConfigファイルじゃなくて
サーバ側ビルド時に勝手にクライアント側にコードとWCF回りを自動生成するんで
自動生成されたファイル内にURLを持ってると思うよ
>>315 他のWEBアプリがいくつかあってブラウザで連携取らないといけないんだけど
WPFでは出来ない気がする。
お前ら詳しいな
オブジェクトにバインドした編集用フォームがあって キャンセルボタンが押されたら編集前の状態にロールバックしたいんですがどうするのがいいんでしょう バインドしてるオブジェクトにIEditableObject実装してCancelEditすればいい? DataFormはそうやってるみたいですけど
322 :
デフォルトの名無しさん :2010/12/29(水) 21:11:17
外字について色々試したので報告。 FontFamily= → × GlobalUserInterface.CompositeFontの編集 → × docomo.tteをそのまま埋め込み、絵文字をSilverlight上で表示 → ○ 外字エディタ(TTEdit使用)で、docomo.tteの内容を直接編集する → × (ファイルのバージョンが違うと上書き保存できない) TTEditの古いバージョンがあればdocomo.tteの編集ができるかもしれないけど 以前のバージョンが見つけられない → いまここ
>>321 Model
Field-Data
ViewModel
Field-A : Model.Field-DataにTwoWayバインド
Field-B : Field-AにOneWayバインド
Method-Submit : Field-Bの中身を、Field-Aにコピー
Method-Cancel : Fiela-Aの中身を、Field-Bにコピー
View
Control-Form : ViewModel.Field-BにTwoWayバインド
こんな感じじゃ駄目なんだっけ?
324 :
デフォルトの名無しさん :2010/12/30(木) 20:58:11
silverlightで、2ちゃんブラウザ創るわ。 材料はそろった。
>>324 ログは何処に保存するん?
ログ保存用のサーバ用意するんで無ければ、分離ストレージに持つのかしら。
326 :
324 :2010/12/30(木) 21:48:55
OOBにすればいいじゃん
うちの会社は、グループ全体でRIAにシルバーライトを採用したらしいけど、 今後SLは順調に浸透していくのだろうか? 途中でMSが「やーめた」とか言い出さないのだろうか?
328 :
デフォルトの名無しさん :2010/12/30(木) 23:03:53
>>327 ありえない。
と、かなり強く断言できるくら大丈夫。
まだ、Adobe がつぶれて Flash の先行きどうなるんだろ?とか、
Oracle がまた変なこと言い出して Java コミュニティ崩壊とか、
そんなシナリオの方が可能性高い。
>>329 MSは過去にもいろんなテクノロジばっさり切り捨ててきた経緯あるからなぁ・・・
SLだけは・・・って言われても正直信用出来ないんだよね。
COMを捨てたのは正しかった
大抵は名前だけ変えて生き永らえてるぞ
実際googleとかjavaとかも切り捨てまくってるよね
334 :
324 :2010/12/31(金) 11:53:24
いや、SLはWPFのサブセットだから、 WPFが無くならない限りはSLは大丈夫でしょ WPFが本気出せるのはWindows8からだからさ、今悲観するのは早すぎでは
SilverlightはWPFというよりAccessを目指してるでしょ
>>330 MS が切り捨てるのはリサーチ段階で目が出なかったもの。
一度プロダクトになった後のサポートの厚さはむしろ異常。
IE6とXPがいまだに切り捨てられてないせいでみんなどんだけ苦労してるか。
>>331 COM は捨てたというよりは、.NET へのグレードアップじゃない?
サポートはいまだにしてるというか、世の中まだまだ COM だらけというか。
Silverlight の OoB 実行ですら COM 呼べるのよ。
XPは切り捨てないで欲しい
XP は切り捨てて欲しい
2000はまだ現役
Windows2000って何コアまで行けたっけ? 基本1コア用だった気がするんだが
XPみたいなOSは (というかシェルは) 必要だと思うが、XP自体はとっとと切り捨てて欲しい。 新OSで、シェルを選択可能にしてくれりゃいいのよ。
NTの頃からマルチCPU対応だろ。2000はプロフェッショナルとか何だとかで違うんだよ確か
カスタムコントロールのVisualStateManagerへの対応めんどくさい GoToStateするためだけにオーバーライドするのがダサい
IE9がXPに対応しないのは、2014年までXPをサポートすることに反しないかな?
>>346 しないんじゃね?
OSとブラウザは切り離せって裁判までやられる始末だし
>>346 Windowsのサポート期限は、「メインストリームサポート」「延長サポート」の2種類に大別される。
延長サポートでは、新機能の追加等は行われず
主に、セキュリティアップデート等の重要な修正のみが提供される。
(本来は、企業向け製品のみの追加サポート期間だし)
WinXPが2014年までってのは、延長サポートの話であって
メインストリームサポートは、2009年時点で終了してるでしょ。
>>345 カスタムコントロールではビヘイビア使えないの??
ビヘイビアにしたらBlendでVisualStateを作れなくなるよ カスタムコントロールのクラスにTemplateVisualState属性を明示的に付けないとBlendで認識されない
それにカスタムコントロールだからビヘイビアを使う意味がない どうせコードビハインド書くんだし、テンプレートの入れ替えが前提だから デフォルトのスタイルにいろいろ書いても上書きされてしまう
352 :
324 :2011/01/01(土) 12:13:18
silverlightって組みやすいし機能も充実してきているのに どうして不評なんだろうな
>>352 不評じゃねぇよ。
日本じゃ80%はインストールされてるし。
アンチの声がでかいだけ。
>>351 そうか、カスタムコントロールはxamlはがさっと入れ換えられるから、コントロールとして持つべき振る舞いはコードでかいとかないといけないのか
MVVMパターンに永続化層(仮にSerializer)をくっ付ける場合って、次のどれが好ましいんだろう。 ■A Serializer (他の層を認識しない) Method-Serialize : 受け取った引数を永続化する Model (永続化層を認識する) Method-ExecuteSerialize : Serializer.Method-Serializeを使用 ViewModel (Model層を認識する) Command-ExecuteSerialize : Model.Method-ExecuteSerializeを使用 ■B Model (他の層を認識しない) Serializer (Model層を認識する) Method-Serialize : Model層のプロパティを読み取って、永続化を実行する ViewModel (Model層及び、Serializer層を認識する) Command-ExecuteSerialize : Serializer.Method-Serializeを使用 ■C Model (他の層を認識しない) Serializer (他の層を認識しない) Method-Serialize : 受け取った引数を永続化する ViewModel (Model層及び、Serializer層を認識する) Command-ExecuteSerialize : Model層のプロパティを読み取って、Serializer.Method-Serializeに渡す
356 :
デフォルトの名無しさん :2011/01/01(土) 18:48:17
Modelでいいんでないのかな
俺の好みならSerializerのインターフェイスをModelが実装して、ViewModelがSerializerを使うパターン
俺の好みもそうかな。
Modelからデータアクセスを分離したいって心情は解るけど 実用面ではModelに直接持たせちゃってもそんなに問題無さげ
dll参照の誘惑に負けてどんどんパッケージが太っていく DataAnnotationとかMEFとかXLINQとか便利すぎるだろ•••
その辺りの、ランタイムに入ってないけど SDK に入ってる部分、 jQuery キャッシュみたいなノリで MS 上のサーバーから配信&クライアントキャッシュしてくれればいいのにね。
364 :
デフォルトの名無しさん :2011/01/02(日) 18:28:55
silverlightでゲーム作れる? flashで左クリックしか使えないから、これに惹かれてる
365 :
デフォルトの名無しさん :2011/01/02(日) 18:31:12
>>364 ゲームは問題ないけどSLも右は同じような機能がデフォルトで割り当てされてるぞ
SLでもFlashでも、右クリのコマンド追加は可能だな
368 :
デフォルトの名無しさん :2011/01/02(日) 21:00:48
WPFの時代が来るから、初めにSLから始めて慣れておく事が大事。 いつまでWinFormやってんの?とバカにされないうちに。
処理重いと、Silverlightはフレーム落ちするじゃん Flashみたいにゆっくりでも1フレームずつ描画するようにできないかな?
CompositionTarget.Renderingイベント使う
おお・・・ありがとう
372 :
デフォルトの名無しさん :2011/01/02(日) 21:17:21
そういえばSLを設置可能なサーバーって増えた? MS鯖じゃないと設置できないんだっけ?
普通は特にサーバーが対応してなくても使える。クライアントで動くんだからサーバー関係ない。
374 :
デフォルトの名無しさん :2011/01/02(日) 21:24:25
データベースを扱う場合は、やっぱ鯖が対応してないとな。さすがに。
そこはSilverlight関係ないでしょ SilverlightからはASP.NETのサービスしか使えないわけでもないし
376 :
デフォルトの名無しさん :2011/01/02(日) 21:29:52
WCFなんて対応しているサーバを探す方が難しい。
377 :
デフォルトの名無しさん :2011/01/02(日) 21:45:49
>>373 いやそういう話じゃなく・・・
SLを含む部品の送り出しから通信相手としてとかさ・・・
どんなのを想定してるのかよく解らん
何がしたいのか具体的に
単にページに貼るだけならサーバー関係ない
サーバー側でWebサービス提供したいという話ならSilverlightの範疇を超えてるし
>>374-376 で出てる
クロスドメインアクセスしたいならFlashからのアクセスに対応したサーバーならSilverlightからもアクセス可
あれ? MIMEだっけ? 今サーバーから送り出されるデータってtext/cssとかってあるけど SLってあったっけ?
>>380 拡張子:.xap
MIMEの種類:application/x-silverlight-app
の登録は必要、らしい。
atpagesの無料鯖に.xapファイルを置いたら、何やら音楽ファイルとして認識されていた。
(HTMLから呼び出す分には、そのままでも特に不都合無かったけど)
382 :
デフォルトの名無しさん :2011/01/02(日) 22:10:32
htmlから呼び出せばいいだけの話。
>>381 >>382 ほー
その辺クリアできればapachなんかをサーバーにしても問題ないのかね?
WCFとかは使えなくなるだろうけど
Silverlight.jsがあればいいんだっけ
俺の知り合いがインターネットで副収入で月10万円以上稼いでいるから、 俺も何か作ってみたい。 広告収入ってのがかなりスゴいらしいな。 SilverlightならC#知ってるからいいかもと思いこのスレに来ました。
藍澤姉妹のエロCG集をDLSiteあたりで売った方が儲かりそうだ
C#といっても、WinFormとは違うぞ。 WPFの子供みたいなもんだから、技術覚えるのは簡単じゃない。
試しに、atpagesの無料鯖に
・インラインXAMLを含めたhtmlファイル (Silverlight)
・xapファイルと、それを呼び出すhtmlファイル (Silverlight、ナビゲーションフレームワークによるURL変化を含む)
・LooseXAML (WPF)
を置いてみた。
コンテンツの中身はどれも適当だけど。
ttp://www18.atpages.jp/~silverkey/ >>381 のはちょっと記憶違いだったわ。
xapが音楽ファイルとして認識されたのは、atpagesじゃなくatwikiだった。
>>386 SLコンテンツで広告収入って、あまり期待出来ないんじゃねーかなというか
ああいうのって、サイト閲覧者がバナーをクリックしないと金銭にならないんじゃないの?
(よくは知らんけど)
WPFは慣れるまで大変。
>>389 全く関係なくてスマンがそのインラインxaml
じっと見てると極稀に、オブジェクトのフチの部分が白くなって見えるな
そういうもんなの?
ナビゲーションフレームワークのページにアクセスした後、 Webブラウザの「戻る」を使用すると 一回だけでは、元のページに戻れなかった アクセス前 "/" アクセス時 "/navigationFramework.html#/Home" に遷移 「戻る」1回目 "/navigationFramework.html" に遷移 「戻る」2回目 "/" 地味に嫌だなこの挙動
Silverlightは右クリックとれるけど、マウスキャプチャできないのどうにかして欲しい。 CaptureMouse()が成功するけど、すぐにLostMouseCaptureする。 右ドラッグで視点の回転させたいんだけどなぁ。
普通にHTTPのPOST使うなり、JSONフォーマットで送るなりできるから サーバーサイドはPHPなり、なんなりでデータベースは使えるよ
俺はwebサービス経由でレンタル鯖のmysql使ってる もちろんslで
>>392 UX考えると、FrameとPageでURL移動を起こす場合は
パンくずリストとか付けといた方が良いのかしらね。
397 :
デフォルトの名無しさん :2011/01/04(火) 00:26:56
XAML面白いよな。最近目覚めたけど。 早いマシンが欲くなるw
ザムルは最初は難しいけど、慣れると奥が深く面白いね。
好きなんだけど、 xaml → ざむる xap → ざっぷ この呼び方に、未だに慣れられない。 「えくすえーえむえる」 とか 「えくすえーぴー」 って呼んでしまう。
401 :
デフォルトの名無しさん :2011/01/04(火) 18:44:41
EventにBindingする場合ってどうするの? <TextBox LostFocus="Lost_focus_click" /> とかじゃなくて <TextBox LostFocus="{Binding LostCommand}" /> にしたい場合、MVVM徹底したいのよな。
RichTextBox内でコード側からスクロールさせる方法ってありますか? 例えば、RichTextBox内の指定したRun要素のところへスクロールさせるとか。
403 :
402 :2011/01/04(火) 19:44:42
解決した。 ザムル内 <RichTextBox> <Paragraph name="p1">aaaaa</Paragraph> <Paragraph name="p2">ザムル最高</Paragraph> <Paragraph name="p3">bbbbb</Paragraph> </RichTextBox> aaaaaとbbbbbはスクロールされたことがわかるように長文を入力 C#側 TextPointer tpS = this.p1.ContentStart; TextPointer tpE = tpS.GetPositionAtOffset(1, LogicalDirection.Forward); this.richTextBox1.Selection.Select(tpS, tpE); と、指定したParagraph内のTextPointerをSelectしたら、そのParagraph内の要素の先頭に自動的に移動してくれました。
404 :
402 :2011/01/04(火) 19:47:35
×this.p1.ContentStart; ○this.p2.ContentStart; 実行したら、”ザムル最高”の文字がRTB内に表示されるようにスクロールしてくれました。
405 :
デフォルトの名無しさん :2011/01/04(火) 19:56:54
RichTextBoxって何気に高機能なんだよな
>>401 Expression Blend SDKをインストールしてビヘイビアを使う
>>399 うーん、でも、英語的に自然な発音よ。
語頭の x は z と一緒。
>>401 Sliverlight5でその機能ついかされる予定
そもそも純粋MVVMだけってのは無理がないか? ListBoxにItemを追加したら追加位置までスクロールしたいといった要望もあるし、 入力内容に応じての細かいフォーカス制御は難しと思うんだが。
どうしても必要ならViewのコードビハインドに書けばそんなに問題はないよ 一番重要なのはVMをVに依存させないことで、VMで((TextBox)sender).Textみたいなことをされたら MVVMの意味が全くなくなる
毎回思うことなんだが、普通にバインドを使った入力値の検証って厄介だな。 例えば「次へ」ボタンのクリック時に全テキストフィールドの検証をしたいんだが、 未入力で空欄の初期値だったり、フォーカスを移動するだけで検証コードが 反応してしまうのは使いにくいね。
フォーカスが絡むととたんに面倒になるのは同意。 なんらかのアクションの後、任意の場所にフォーカスを移動させようとすると、 Viewを直接参照して行うか、 Viewになんらかのメッセージを送る必要があると思うんだが、 結局メッセージにコントロールを特定するIDが必要になってしまう。 それとも何か良い方法があるのかねぇ。
ん?検証はタイミングは任意でかえられるよ .Netは1年程触ってないけどグループ化か何かで出来たはず フォーカスはViewの仕事だからViewのXAMLじゃないファイルに書いた記憶が… それじゃ駄目なん?MVVMの理念は崩れないと思うけど
>>410 そういう処理こそBehaviorの得意とすること。
開発するアプリで必要そうなBehaviorを予め作っておくと開発が楽になると思うよ
PrismでやってるようにMEFでViewにViewModelをインジェクションするのはやめた方がいいかもしれん… MEFに起因するエラーでXamlParseExceptionが発生してMEFのエラーが握り潰されて MEFのデバッグが超困難
これだから近頃の若者は… と、古代エジプトから続く由緒正しい台詞を吐いておこう。
まあまあ。 そんな、世代の断絶をわざわざ招く発言せずとも。 古代と書いて『こだい』と読まず、『こしろ』と読む。 この人がいなければ、現代のビットチューンとかは もっと違う形になっていたんじゃないかな。
古代は「いにしえ」だろ
ロストメモリー 「 古 代 」 とかどうよ
<ruby> <rb>古代</rb> <rp>[</rp> <rt>CD</rt> <rp>]</rp> </ruby> 所でここ何スレ?
slってのは、グラフィック処理をgpuに投げるから 重いベクター処理をしているのにも関わらず、操作はサクサクして速いよな 驚いた
いやベクター処理は基本CPUだぞ いったんビットマップにキャッシュしてGPUで描画させることはできるけど 明示的にCacheMode="BitmapCache"を指定していない限りはそれも働いてない 変更された部分だけ再描画する伝統的な方法でごまかしてるだけ ピクセルシェーダも完全ソフトウェア処理なので、フルスクリーンでピクセルシェーダかけてアニメーションさせたりすると 悲惨なことになる
OOBでサイズ固定のタイトルバー付きのウインドウを使いたいんだけど、 そういう設定ってないんでしょうか?
現行verでは、モーダルしか表示できないはず。
出来が悪くてガッカリだぜ 高速なJava Appletじゃないのかよ せめてjavascriptのレイヤーの言語なら歓迎したのに
SilverlightとDLRの応用で、JavaScriptの替わりにRubyやPythonが使える。 HTMLに直接Rubyコード書いてDOM操作したりSilverlightとやり取りしたりできるぞ
.NETやC#はそれなりに実績も人気もある技術だし、 ブラウザの実装に依存しないのがメリットなのに何を言ってるのか。 というかJavaApplet遅くはないだろ。JavaアプレットはJREが必要だから敬遠されるが、 Silverlightは.NETのランタイムを必要としないのが大きな違い。やってることはほぼ一緒。 別にDLR使わなくてもブラウザのJavaScriptからSilverlight操作することもできる。 全く何が気に入らないのかわからん。
vs2010スレにもいるアレだから相手にするな
SliverlightはFlashより定番になると思う
ビデオはベータがVHSより定番になると思う
ブルーレイよりHDDVDが
435 :
デフォルトの名無しさん :2011/01/13(木) 19:24:13
DataGridのLoadingRowイベント内の処理で例外が発生した時に、 Application_UnhandledException で e.Handled = true をやっても、falseと同じ扱いを受けるという現象が起きました。 通常は例外が発生した瞬間に Application_UnhandledException へ 飛ぶのだと思いますが、その現象が起きる時はグリッドの全ての行の LoadingRowが発生した後で飛んでいる様に見えます。 (10行の場合、1行目で例外が発生したとしても10行分のLoadingRow イベントが発生し終わった後で飛んでいる) DataGridを使用している箇所全てがそうなっている訳ではないので なにかの条件がありそうです(調査中)。
>>430 objectタグの中でしか動かない言語だと
いまさらFlashの地位を乗っ取ることができず普及しないだろ
javascrptの代替技術としてhtmlの<canvas>でも<button>のイベントでも
全部C#で書けたら今頃超絶ブームだったはずだ
.NET技術者が.NETの知識を生かして短期間・ローコスト・ローリスクでRIAに参入するためのもの。 企業内のイントラネット向けには最適だ。まだ競合が少ないのもいいね。 Flashの地位を乗っ取るとかどうでもいいわ。Flashなんて眼中にないから向こうは向こうで勝手にやればいい。 心配しなくても、こっちは快適な環境で暖かく暮らしてるよ。
CLIをブラウザに載せるならともかくC#を直接ブラウザで動かすのは無意味すぎる だいたいjavascriptの代替が欲しいときっていうのはある程度ガッツリコーディングしたい場合なわけで コンパイルなんか全く問題にならん
Flashとかでもそうだけど型があいまいすぎる言語は嫌いだ そういう意味ではJavaScriptも嫌い あんなんでよく開発とかやってられるな・・・・ 怖くてあんま使いたくねぇよ
Silverlightは世界を制すると思う
JavaScript好きだけどなあ ActionScriptみたいな中途半端が一番ウザい
443 :
デフォルトの名無しさん :2011/01/14(金) 12:21:23
JavaScriptはまあまだ許容範囲無いだろ mainが無い関数だけのCソースぽいし ActionScriptはだめだw
ActionScriptってJavaScriptじゃん
全然違うよ ASはJavaScriptにクラスを持ち込んだ言語 クラスを持つ動的言語としてはRubyやPythonが有名だけど それらは動的言語の枠内でうまくクラスを取り入れてるのに対して ASは無理矢理Javaに似た静的型をぶち込んだのでいろいろ一貫してなくてダサい
446 :
デフォルトの名無しさん :2011/01/14(金) 16:43:54
Javascriptだってクラス扱えるじゃん
>>446 SLはそのソフトで作ったサイトの中に埋め込むべきものじゃん
競合はしていないというか、
Win鯖の下地を利用したサイト作りを支援してSLの埋め込み支援機能もつければ
ちょうどいい販促ツールと言うところだろう。
JavaScriptが一応OOPだっつー事は、割と忘れてる場合が多い。
>>437 じゃないが、いっそHTML+CSSを捨てて
XAML+C#を主流にしてくれりゃいいのに、とは思った事がある
現状、LooseXAML単体だとスクリプト言語を組み込めないのが何ともアレだが
一応もなにもプロトタイプ方式の代表例じゃないか
OOPじゃないな
>>446 インストールしてみた。
なんつーか…VWD有ればいらねー気がする。
空のテキストを許さないテキストボックスはどう作ったらいい? 検証でエラー出すんじゃなくて、空だったらバインド先に反映せずに元の値に戻したい
文字数見ればいいんじゃないの? 空=文字数0 見かけ上文字がなさそうだけどスペースの塊は空ではないよ
456 :
454 :2011/01/14(金) 21:29:37
文字数見るのはいいんだけど、 MVVMなので、どこにチェック入れてどうやって戻すのが適切なのかな、と テキストボックス継承するのが簡単かなあ
ViewModelに、「Modelにバインドされるプロパティ」「Viewをバインドするプロパティ」「両者を結び付けるメソッド」を用意して 両者を結び付けるメソッド内で、元の値に戻す処理を入れるとかは?
>>456 テキストにフォーカスが当たったらテキスト内容を保持しておいて、
フォーカスが外れた瞬間に内容が何もなかったら保持しておいたテキストを入れるとか?
フォーカスの当たる外れるっていうイベントありましたっけ・・・
SLの標準コントロールって、他のコントロールを大量に重ねて作ってるので フォーカス関連はかなり鬼門。イベントも少ないし。
>>456 「空のテキストを許さないテキストボックス」
→テキストボックスを継承してカスタムコントロール作成
GotFocusで値保持、LostFocusで空なら保持した値に戻す
「ViewModelとして空文字は無視したい」
→ViewModelのプロパティsetterで空文字はフィールドに設定せずPropertyChangedを呼ぶ
のやりたい方でいいんじゃね?
モデルで検証してキャッシュから元の値を取り出して戻す キャッシュUndoはフレームワークにこの機能があるからそれを使う MVVMの基本だぞ
プロパティの設定に成功したように見せかけて実際には値が変わらなかったり 範囲内の数値に丸められたりするようなプロパティの実装は不適切でしょ ガイドラインでも禁止されてるはず
465 :
デフォルトの名無しさん :2011/01/15(土) 22:45:31
>>442 JavaScriptはしょうがないよ。
Adobeの処理系はどれもこれも中途半端で一貫性がないのよ。
開発環境も、うんこだし関わりたくないんだけど仕事だからやってるって感じかな
そんなに静的型が欲しかったなら素直にAS捨ててJavaを採用してれば Silverlightが出る幕なんて無かったのにな なんでわざわざ中途半端なキメラを生み出したのか
そう思うんならSilverlightにケチ付ける前に Java Appletがあるのに、なんでわざわざJavaFXなんて作ったんだ と言ってやったらどうだ?w
CallMethodActionがあればコマンドいらない? 全部CallMethodActionでいい気がするんだけど
>>468 コマンドの意義は CanExecute の存在だしなぁ。
それは CallMethodAction では吸収できない。
あと、CanExecute が不要な状況における ICommand インターフェイスの存在はともかくとして、
イベントの種類の違いを吸収する層としてのコマンドって概念は必要だと思う。
AS2ユーザはたくさんいるわけだから、ASを捨てるわけには行かないだろう。 ASとは違う、まったく別の言語を導入するというのは、Adobeにとってもユーザにとっても負担なので、それは考慮しないと行けない。
471 :
デフォルトの名無しさん :2011/01/21(金) 07:55:09
コマンドアクションでコントロールのプロパティ変更するのって、結局全コントロールの プロパティにバインド設定しないといけないなら、ものすごい工数増えそうなんですけど。 デザインとプログラムを1人でやるなら、普通にクリックイベントで変更した方が楽っぽいなあ。 今回うちはコマンドアクションの採用は見送りたいと思った。
例えばモデルのプロパティAがTrueの場合はコントロールの色を変えたいとき その色のプロパティを定義してバインドしたりしてない? コマンド使うかどうかにかかわらず、普通そういうのはコードから色触ったりしないで アニメーションとか使ってXAMLで完結するように作るので、バインディングはそんなに増えないんだが
473 :
デフォルトの名無しさん :2011/01/21(金) 19:40:12
>>472 少なくとも「プロパティAがTrueの場合」という条件がある以上は
プロパティAにバインドしなきゃならないと思いますけど
画面上の全コントロールのIsEnableを制御する部分とかだと死ぬ気がする
それはコードで書いても一緒だろ
コントロールに直接設定すれば1行で済むのに コマンド使うなら1行じゃ済まないと思うが どこが一緒なんだ?
その前にコマンド直接関係ないだろ。VMと言いたいの? コマンドはコントロールの状態変更を上層に伝える仕組みで プロパティのバインドとは逆の話でしょ 使わないのは勝手だけどまずは正しく理解しようよ
理解してなくてすみません。 1.コマンドアクションが発生した時にデータの取得を実行する 2.データ取得後の処理として、データに基づいて画面のプロパティを制御する これはどちらもコマンドアクションの中の処理に入らないの?
MVVMとコマンドを混同しちゃいかん。 コマンドに対応する動作は必ずしも別のクラスで実装する必要ないんだよ。 むしろ、ルーティングコマンドに対するイベントハンドラとしてコードビハインドで実装するのが WPFの設計ではもともと本筋。 コマンドを使うかどうかと、ビュークラスとビューモデルクラスを分離するかどうかは別問題なの。 たまたまM→VMの通知に都合がよかったからコマンドを利用しただけの話で、 イベントハンドラからVMのメソッド呼んでもいいしCallMethodAction使ってもいいし MVVMにコマンドは必須じゃない
まじっすか。 分離する為に、イベントハンドラからビューモデルの関数呼んだらだめなのかと思ってました。 心置きなくイベント使わせて頂きます。 しかし、そうするとコマンドやCallMethodAction使う場面がわからなくなったでござる。
>>478 訂正 ×M→VMの通知 ○M→VMの通知
コマンドやCallMethodActionはコードビハインドを減らすために使う
なんでコードビハインド減らしたいかというとその方が単体テストしやすくなるからで
単体テストしないんだったらMVVM自体要りません
481 :
480 :2011/01/21(金) 20:34:38
訂正できてない… V→VMの通知
画面制御の要らない処理にはコマンドが向いているという事ですか。 でも複数の通知方法があると可読性が失われませんか? 統一されていた方がわかりやすいと思いますけど。
>>478 ルーティングコマンドはコントロールと親要素とか、
コントロールのテンプレートとコントロール本体とか、
そういう部分向けかと。
MVVM とはまた別の軸での「関心の分離」。
どうでも良いが、 "RoutedCommand" なのに 何で和訳は "ルーティングコマンド" なんだろう
NotifyOnValidationError=True, ValidatesOnExceptions=True でプロパティのsetterで例外が発生したことを通知しています。 デバッガが無効のときは正しく動作するのですが、デバッガが有効の場合は 例外が発生したところでデバッガによってアプリケーションが停止させられてしまいます。 デバッガが有効でも止まらないようにする方法はありますか?
自己解決しました バインド先のsetにDebuggerStepThrough属性を付けることで停止しなくなるようです
488 :
デフォルトの名無しさん :2011/01/22(土) 19:51:07
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 とあったので、動作しないのかなと。 オススメがありましたら教えてください。
チャートはSilverlight Toolkitっていう公式ライブラリに入ってる もしくはASP.NETと組み合わせてMicrosoft Chart Controlsを使ってもいい 表もとりあえずは標準のGridを試してみて不足なら考えればいいんじゃないの
490 :
デフォルトの名無しさん :2011/01/22(土) 20:13:22
>>489 ありがとうございます。早速Silverlight Toolkitについて調べてみます。
Silverlightで作成した場合、MACでの動作に特に問題って出ないのでしょうか・・・。
その辺りが不安で。
MAC用のプラグインならApple SafariとMozilla Firefoxに対応してるんじゃ?
492 :
デフォルトの名無しさん :2011/01/23(日) 04:36:43
ありがとうございます。調べてみます。web開発素人なものですみません。
493 :
デフォルトの名無しさん :2011/01/23(日) 09:25:04
Silverlight初心者なのですが、Silverlightを使ってeラーニング的なもの を作ろうと考えているのですが、デザイナーに頼まなくても、プログラマー がそれなりの見た目で作ることは可能でしょうか? また、デザイナーに頼んだ場合、フォトショップのデータで受領し、ASP.NET で開発する予定ですが、チャートや表のデザインもデザイナーに頼ることって できるのでしょうか?この質問はスレ違いかもしれませんが、 よろしくお願いします。
プログラマーとデザイナーの技量による。
>>493 expression blend が使えるデザイナを使えばいいと思うのだが。
最近はいるみたいだよ。
Expression Blend が使えるプログラマのほうが多いと思う。 技量はさておき
TextBoxとかに外部からデータ送るとかって出来るかな? 具体的には自作のソフトウェアキーボードを表示して、そこで押された内容を フォーカスが当たっているコントロールに送りたい。 Win32の頃はMessage送ってやれば良かったけど、Silverlightで似たような事 出来るのかなぁ?
無理 FocusManager.GetFocusedElement() as TextBox でTextを直接編集するくらい OOBでWin限定ならCOM経由でキー入力を送ることも可能だろうけど そこまでやるなら普通にWPFで作ったほうがいい
>>498 やっぱりFocus当たってるコントロール取ってきて、自前でやるしかないよね。
さんきゅ。
DDEでやってみてはどうか
MVVMは始めて手をつける(学ぶ)人にとっては、非常に敷居が高い。
VMって結局ViewのModelでしょ 従来のMVCだとView専用の情報を持つモデルが必要で、それをモデルというのはちょっと変なのでVMと呼ぶことにして、 Controlerはあまり分けるメリットがないのでVMに統合しただけだよね 純粋なMVCよりはシンプルでわかりやすいと思う
MVVMの要点を3行で頼む
M V VM
>>501 まあ、GUI の構築パターンはどれもハードル高く、その中じゃ MVVM はましだと思う。
現状の1番の問題は、VS のテンプレートが MVVM になってない点。
それが初心者への最大のハードルだと思う。
というか、今って発展途上なんで、発展させる側と発展に付いていく気のある人だけが MVVM やればいい気もする。
>>503 おしいな、
>>504 がほぼすべてなんだけど、4行だ。
LightSwitchはMVVMらしいよ どうせVMのコードは手で触らないんだろうけど
でも高レベルすぎる話なので一般的なテンプレートを用意してそれが役に立つかというと… DataContextにVMを設定する方法一つとっても用途や規模によって適切な方法は違う PrismなんかDIでVM作ってるんだよw
標準で吐き出すものが MVVM なら、かってに付いてくると思う。
>DataContextにVMを設定する方法 皆はこれ、どんな風にしてる? 俺は ソリューション { プロジェクト(各層の結合 & アプリ実行用) { App.xaml.cs { Modelフィールド ViewModelフィールド Viewフィールド コンストラクタ { 各フィールドを初期化 VのDataContextにVMを設定 } } } プロジェクト(ユニットテスト) プロジェクト(Model層) プロジェクト(ViewModel層) プロジェクト(View層) } 個人で作る時は、こんな感じにする事が多いけれども。
>>510 それViewModelのコマンドで現在のViewから別のViewへ遷移したいときはどうするの?
ViewだけじゃなくてViewModelごと遷移させたい場合ね
MVVMでVMをVに依存させずに画面遷移をうまくやろうとすると
サービスロケータやDIのようなものがどうしても必要になる気がする
512 :
510 :2011/01/26(水) 00:23:03
>>511 御指摘の通り、上に加えて
VMから画面操作を行う為の層も、別のプロジェクトとして追加する事が多いね。
(データアクセス層なんかもよく追加する)
MVVMを基本にはするけれども、それだけで全部完結させるのはどうしても難しいというか。
(技量不足のせいかも知れんけど)
MVVM舐めてた 難しい もう一度、初心にかえるキモチで一からC#・SL学習中
514 :
sage :2011/01/26(水) 17:43:56
MVVM自体は別に難しくもなんともないだろ。 ただ、各種処理パターンの実装サンプルで適当なのが無いから、そこをまとめるコストがネックになっているだけで。 っで、それが面倒で堕落するとイベントドリブンになるっと。 MVVMフレームワーク付属のサンプルだと、フレームワーク依存部分やその学習コストがネックになるケースはあるけど。 簡易MVVMフレームワークを自前で用意して、BehaviorやTriggerActionの使用パターンまで網羅したサンプルを用意すれば、 変な実装が広まることも無いと思うけど。
ビヘイビアを使った各種処理パターン以外に、画面遷移、DI、サービス層の考え方くらいまであれば、だいたい事足りるかな?
そこまでやるとPrismと何も変わらないし アプリケーション全体の構造のレベルの話だから一般にこうと決められるようなものでもない
要件によってアーキテクチャが変わるのは勿論だけど、実用を考えたら、結局このくらいの話は必要になる気がする。 Prismの布教を頑張るっていうんでも良いけど。
sl4toolkitがまだ英語版しかないことろにちょっと遊んだ程度なんだけど 今日本語版の環境を作る場合に必要なのって下記であってる? ・VWD2010(無料でやるのでExpress) ・SilverLight 4 toolkit 日本語版
>>519 >>520 ありがとう
ダウンロードしてるんだが30MBちょっとの物がぜんぜん落ちてこないw
MSは嫌がらせのつもりか!!
MSからのダウンロードってクソ速いだろ普通 数Gのファイルでもあっという間に終わる
ぜんぜん落ちてこない ブラウザで普通にダウンロードしてたけど落ちてこないのでIrvine使って落としてるが ほとんど通信しないと思ったらたまにちょこっと通信してまた通信無しって感じでよくわからない挙動をする
やっと終わった 37MBのデータを落とすのに11分w
簡単なベクター系のお絵かきツールを作ろうと思うのですが ベースのキャンバスはどれを使えばいいですかね あと、List<>でEllipseとかRectangleなどを一元管理してバインドする感じになると思うのですが どう書けばいいかイメージがわかないので参考になりそうな情報、サイトなどありませんでしょうか?
そういうのにバインディングはいらん CanvasにRectangleとか置いてコードから直接弄繰り回す
オブジェクトの入れ替えってこんな感じでZオーダーをいじるしかないのかな? オブジェクトの登録番号が分かれば内部の管理(リスト?)の順位をあげればいいかと思ったがよくわからなかった・・・         private void UserControl_Loaded(object sender, RoutedEventArgs e)         {             //円1             Ellipse ep1 = new Ellipse();             ep1.Width = 200;             ep1.Height = 200;             ep1.Fill = new SolidColorBrush(Colors.Purple);             ep1.Stroke = new SolidColorBrush(Colors.Black);             this.LayoutRoot.Children.Add(ep1);             //円2             Ellipse ep2 = new Ellipse();             ep2.Width = 100;             ep2.Height = 100;             ep2.Stroke = new SolidColorBrush(Colors.Red);             this.LayoutRoot.Children.Add(ep2);             //Zオーダー入れ替え             this.LayoutRoot.Children[0].SetValue(Canvas.ZIndexProperty, 1);             this.LayoutRoot.Children[1].SetValue(Canvas.ZIndexProperty, 0);         }
コード貼りでお礼忘れてた・・・
>>526 ありがとう
その方がはやそうですね
図形の位置を与えるCanvas.Leftなどはc#で書く場合はどうすればいいんでしょうか?
530 :
529 :2011/01/28(金) 16:02:19
自己解決しました Canvas.SetLeft(hoge, 20); Canvas.SetTop(hoge, 20); こんな感じで書くんですね
LightSwitchで作られたSilverlightアプリはリボンだよ
LightSwitch、正式版になっても無償のままなんだろうか
法人向けの開発ツールが無償なわけないだろ 開発ツールを売る商売なのに
>>531 まーそりゃそうじゃないの?
MSのUIの現時点での最大の欠点は指でタッチするようなのにむかないってことだからね
従来のメニューだとタッチで触るには小さすぎて結局スタイラスなどの小さいポイントを
狙えるポインティングデバイスに頼ることになる
でもリボンは同じ画面でコマンドの選択肢が多いアプリ向けだよな Silverlightが主に想定してるようなナビゲーションアプリとは外れる
何となく気になったんだが、企業でSL製アプリを導入する場合って SLランタイムのバージョンが上がったら、 「ランタイムをバージョンアップするな」 とか 「ランタイムのバージョンアップ後でも正常動作するか全部テストしろ」 とか言われるんかな。 互換性は保たれてるハズなんだけれど。
>>537 そりゃ他のバージョンアップと同様やる企業はやるし、
やらない企業はやらないだろ
Silverlightだからどうこうっていう問題じゃないよ
539 :
デフォルトの名無しさん :2011/01/31(月) 02:31:17
普段JavaとかPHPでWEBアプリしか作ってないんだけど、Silverlightでゲームを作って 見たくて勉強始めてみた。 MSのチュートリアルをやってみたけど・・・今一どうやって動いているのか把握できない C#で開発すると、コンパイルされた(CLR?)データがどこかのファイルに保存されるの? 参考サイトがあまりにも少ない・・・
xap って拡張子のファイルになる。 で、それの実体は単なる ZIP 書庫(拡張子変えたら解凍可能)で、 その中に C# のコンパイル結果の dll とかリソースが入ってる。 dll 内には書いた Page とか UserControl のクラスが入ってて、 それを Silverlight プラグインがロードして表示してる。
541 :
デフォルトの名無しさん :2011/01/31(月) 03:09:46
>>540 ありがとう!
VWD2010で開発してるんだけど、Bin/debugディレクトリの中にxapとhtmlがあったんでその2ファイル
をデスクトップにコピーしたら確かに動いた!
(ディレクトリ名が日本語だと動かなかったけど)
今までWindowsでしか動かないC#はちょっとな〜と食わず嫌いしてたけど、Silverlightベース
で開発するならどんなブラウザでもMacでも動くんだからこれを気に勉強してみようかな
JavaScriptはあまりにも冗長なコードになりそう
flashが置けるブログなんだけどxapに対応してない場合ってなんとかする方法ありますか・・・?
アップロードもできないの?
ええ・・ fc2(fc2ブログ)なので対応拡張子に無いと律儀にはじかれるんですよ・・ ああいうところって違法なコンテンツの配布先に利用されるのを嫌って zipとかも対応してなかったりするしw
意図的にzip弾いてるなら、 そりゃjarもxapもダメでしょうねえ。
そこだけ外部のサイト使えないの? 全部移行するのはブックマークやらなんやらできつそうだから
FC2ホームページの方はSilverlight使えたのに
iFrameでFC2に置いたページを・・ てのはできないの?
>>544 アップロード可能な拡張子に変えてもダメ?
ぶっちゃけXAPは拡張子何でもいい。
mimeが違うんだから.htaccessとか置けない限りダメだろ
>>551 それブログじゃなくてホームページの方だろ
ブログは知らんがホームページの方はxapのままでいける
>>553 書き込みボタンを押す前に551のHTMLソースを見るべき。
551はXAPのMIMEなんてどうでもいいっていう、550に対する反例だろう。
>うpできるぞ どう読めばこれがそんな意味になるのか typeも正しく指定されてるし
(前略)
今回ライブラネオが開始したサービスでは、青空文庫のデータをlibura上に取り込み電子書籍化した。
PCからはウェブブラウザーからSilverlightベースのビューワーで閲覧できるほか、
スマートフォンや携帯電話からの利用にも対応している。PDFでのダウンロードも可能だ。
ttp://libura.com/
フォントが汚いな 普通にSilverlightで描画したらもうちょっと綺麗だと思うが PDFでのダウンロードもできるということだからサーバーで描画したものを表示してるんだろうなあ Silverlightだからフォントが汚いと思われるのは残念
>>557 使い辛いな
ページ送りのし辛さは特筆に価する
SLでwinformなどで使えるXmlSerializerの代わりのような機能はありますでしょうか? 出来そうな感じのことを書いてあるHPは見つかるのですが usingの設定がなかったり(たとえばusing System.Xml.Linq;を使うと説明があるのですが当方ではでてこない と言う感じでして・・・
Silverlight はランタイムに含まれてるライブラリと、 SDK のインストールフォルダーに dll が入るからそれを手動で参照しろっていうライブラリの2種類ある。 多分、System.Xml.Linq は後者。
562 :
デフォルトの名無しさん :2011/02/02(水) 15:06:26
Silverlight SDKのフォルダの中のLibrary/ClientあたりにSystem.Xml.Serialization.dllがある 綺麗なXMLは必要なくて設定やデータの保存や送受信に使うだけならDataContractSerializerの方が推奨
>>561 >>562 ありがとうございます。
おかげで読み込めるようになりました。
別件なんですが、3DCGなどでいうところのこのエリアの外だと描画しない
というような設定は可能なんでしょうか?
Clipプロパティ。
OOBでウィンドウの大きさを保存・復元っていうのをやろうと思っているんだ けど、そのウィンドウが画面下タスクバーにぴったりつくぐらいのときだけ、 復元がうまくいかない。 解像度は1280x800と1920x1080で試験したけど、どちらもOOBウィンドウがタス クバーに近くなるとダメ。こういうものなの?
568 :
567 :2011/02/03(木) 10:23:03
>>567 プライマリスクリーンの外に出るような位置を指定するとだめなんよね。
だから幅と高さを先に指定しないといけない。
どちみちセカンダリに表示できないとか、最大化を解除しないと位置とれないという問題が残ると思う。
570 :
567 :2011/02/03(木) 11:05:21
>>569 「MainWindowのLeftとTopに0を設定してからWidthとHeightを設定」
という流れで、画面高さ1080pixelの時にHeight=987を設定すると
ArgumentOutOfRangeExceptionを吐く。プライマリスクリーン外だからという
わけじゃなさそうなんだよね。ちなみに、Height=986だとOK。
ちょっと質問 デバッグログの出力って、MVVMだとVMで全部引き受けるべきなんだろうか
モデルからログが吐かれる事もあるだろ LogServiceクラス作ってインスタンスを全体で共有する
成程、そういう造りでいいのか。 ありがとう。
>>574 印刷の強化が含まれているみたいだけど、開発者から要望が強い
テキスト印刷についてはまだ触れていないな。
現状のSilverlight 4だとすべてがグラフィックとして印刷され、結果を
XPS化してもテキスト検索などができない。ぜひ対応してほしい。
文字が綺麗になったのはいいけど縦書きマダー?
フレームワークとしての縦書きサポートは永遠にないだろうな 縦書きに限らないけど、例えば縦書きを自分で自然に実装できるような レイアウトに深く踏み込める低レベルなテキストAPIは欲しい
縦書きは割りとどうにでもならねえ? アウトラインのPathさえ取得すればあとは自分で実装すればいいだけだし 問題はSilverLightって縦書き用のフォント使えたっけ?
>アウトラインのPathさえ取得すれば まずそれができない。 単一の文字を好きな位置に描画することもできないし、フォントやグリフのメトリックも取得できない。
silverlightだけじゃあ無理か winformでパスをぬくコード書いてそのデータを元に独自にレンダラー書いたら 著作権的にやばいかな?
xapにリソースとしてフォントを含めて、プログラム内でカスタムフォント として使おうとしたんだが、日本語のフォントは致命的に遅くて使い物に ならなかった。たぶん、リソースから参照するフォントにはキャッシュが 効かないんだろう。とにかく、日本語周りがダメ過ぎる。
だれかFreeTypeを移植してくれ
フォント周りが色々と残念なことになってるのは確か
あれ・・・ 縦書きフォント(@付き)がでねー
縦書きなんか使わせるな
Silverlightって、コントロールがいろいろバグりすぎじゃね?
スクリーン座標?(左上の原点)を0,0じゃなく-100,-100とか変える方法(プロパティ?)はありますか? 自分のプログラムで調整するしかないです?
ルート要素のMarginを-100, -100, 0, 0に設定
スタイルの共有化はできますけど、貼り付けるコントロールの共通化ってできますか?
ユーザーコントロール作る
Canvasを継承したMyCanvasを作ってMyCanvasにList<Point>を与えると List<Point>を座標としてマーカー(EllipseとかRectangleなど)を表示する場合 Bindingを含めてどう書けばいいんでしょうか? ユーザーコントロールの中でC#で処理するのであればなんとかできるですが・・・
訂正です >List<Point>を座標としてマーカー(EllipseとかRectangleなど)を表示する場合 List<Point>のPointそれぞれをを座標としてマーカー(EllipseとかRectangleなど)を表示する場合
テンプレートに適当なShape入れてCanvas.Left,TopにPoint.X,Yをバインドすれば出来るんじゃないか PointをShapeの中心にしたければLayoutTranformとかで適当に調節とか、Converter使うとか というか、チャート使って散布図描いたほうが早いけど
>>595 >というか、チャート使って散布図描いたほうが早いけど
実はこの先があってマーカーをつかむ事でバインドしたPointを変更させたいんですよね・・・・
Pointとマーカーの1対1のバインドだとわかるのですが
List<Point>を渡して複数のマーカーとのバインディングの書き方がよくわからないというか・・・
そんなもんにバインディングを使うな ユーザーコントロールのコードビハインドでいい 座標の組をプロパティに渡したらそれが描画されるコントロールと割り切ればそれで何も問題ない
SL4を使って開発しているんですが、色々と小回りが利かない部分があって。。。 ・TextBlockやPasswordBoxのCaretBrushに適当な色を設定しても、 何かのタイミングで反映されなくなる。(バグ?) ・converterのparamerterに動的なバインディングができない。(MultiConverterもWPFのみ?) この場合、新しくコントロール作ってDependedPropertyを追加して使用するしかないんでしょうか?
RichTextBox にファイルからの情報を表示するにはどうすればいい? LoadFile() とかのメソッドがあるかな?と思ったらないし、途方に暮れている。
昔のrichTextBoxの書式が読めるかどうかわからないけど Xmlってのが現在の管理方法みたいね
602 :
593 :2011/02/05(土) 18:30:17
なんとかうまくできました〜 以前ちょっと触ったきりでバインドに使うクラスに書くお作法についてすっかり忘れてた見たいで はまってました なんとかマーカーオブジェクトとDataGidとPointのバインドができるようになりました
603 :
600 :2011/02/05(土) 19:05:48
>>601 ありがと。
VS2010とSilverlight4 でうまく動きました。
確か、エンコーディングは utf-8 だけなんだよね?
604 :
603 :2011/02/05(土) 19:09:42
テキストファイルの内容をメモ帳で utf-8 に変換したら、日本語もちゃんと表示されました。
Canvasを簡易ウインドウとして移動できるようにしてその上にDataGridなどを貼ってるんですが Canvas部分をD&Dした場合は移動ができてDataGridなどでは出来ないようにするには なにか設定がありますか?
移動させるコードは自分で書いてるんでしょ? 設定も何も、移動させたくなかったら移動させなきゃいいだけの話。何が分からないのかわからない。 ドラッグによる移動を許すかどうかを示すプロパティを子要素に与えるには添付プロパティを使えばいい。
>>606 えーと
Canvasの上に載せてる物へのマウスイベントまで透過してるので
この辺の制御の仕方を知りたかっただけなんですが・・・
MouseLeftButtonDownはルーティングイベントだから e.OriginalSourceに最初の発生元が入ってる
DataGridを使いまわそうと思ったのですが最初にバインドしソースの情報が生きてて その後のソースに反応しません listboxなどでしたらソースに一旦nullを与えてその後新しいソースを入れると問題ないのですが・・・ 何かやり方があるのでしょうか?
Canvas.Children.Clear() を実行するともしかして単なる切り離しだけじゃなく 綺麗さっぱり削除しちゃいますか?
Test
名前と年齢をプロパティに持つPersonクラスのオブジェクトが複数あるとして、 そのオブジェクトの名前プロパティをボタンのcontentにセットして全て表示、 どれかのボタンがクリックされたらそのクリックされたボタンに紐付けされた Personオブジェクトにアクセスする(名前と年齢の表示とか) これって出来るんですかね? 調べている感じだとバインディングが味噌っぽいけど...
>>613 まーwinformのころようようにボタンを動的に作って・・・とかも可能ですけどねw
615 :
613 :2011/02/07(月) 22:17:58
>>614 普段JavaでWeb開発しかしてないから、てっきり動的にボタンを作るものだと...
で、動的にボタンを作りつつオブジェクトを割り当てる...(全てC#の分離コード)
何か根本的に考え方が間違ってるんですかね?
DataTemplateだな ItemsControlのItemTemplateにButton入れて ButtonのContentには名前プロパティをバインドしておくと ノンコーディングで自動的にボタンが生成される
617 :
デフォルトの名無しさん :2011/02/07(月) 22:47:13
>>613 <ListBox x:Name="PersonListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Name}" Click="Button_Click"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
続く
618 :
デフォルトの名無しさん :2011/02/07(月) 22:48:02
617の続き public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); this.PersonListBox.ItemsSource = new List<Person> { new Person{Name = "俺", Age = 19}, new Person{Name = "おまえ", Age = 66} }; } private void Button_Click(object sender, RoutedEventArgs e) { var button = sender as Button; var person = button.DataContext as Person; // 後は好きにするとよいと思うよ } } public class Person { public string Name { get; set; } public int Age { get; set; } }
619 :
613 :2011/02/08(火) 01:02:45
うおおおお!ありがとうございます! 今コーディングしてみて動きました! サンプルソースまで書いて頂いて本当にありがとうございます! しかしSilverlight恐るべし・・・ 普段viとantだけで仕事している自分には未来的な言語(フレームワーク)過ぎです・・・
何その前時代的環境 Javaならもうちょっと何とかなるだろ
viでJavawwww
>>622 その絵がアップされたスレも見てたからここが何のスレか一瞬混乱した。
Silverlight開発者っていないの? なんかスレ伸びないよね・・・・ 他にスレがあるとか?
こんなもんだろ C#の言語スレが狂ってるだけ
WP7が本格上陸すればまた変わる……のか?
C#の質問スレ二種類 + WPFスレ + SLスレ に分かれてるからなあ。 SL固有の話題ってなると、そんなにはねーよな。
>>626 WP7が上陸しても、そんなには変わらない予感。
個人的には、LightSwitchに期待したい所だが
Beta版触って見ても、あれで作りたいアプリケーションって中々思い浮かばんなあ。
LightSwitchって業務アプリ専用簡易開発環境だろ 客に頼まれて使うもんであって作りたいアプリケーションとかそういう話では
>>627 まあSLとWPFは被るところもあるもんねえ
でもWPFとSLで完全に一致するわけでもないからどっちで聞いていいか悩むこともある
両方見てる人おおいだろうから共通のならどっちでもいいんじゃないの。
ScrollViewerで
>>633 ScrollViewerってImage Canvas Canvasとまとめて囲むと「複数のコンテントが指定されています」
とかでるけど複数は対象にできないのかな?
継承を禁止(シール)してあるクラスが存在しますが この辺の意図とかってどこかに資料ってありますかね?
原則として第三者が作ったクラスの継承は馬鹿のする事 そのクラスには、特別に継承を許す意図が無かったからsealedになってるんだよ 悪いこた言わないから委譲しなさい
継承させるだけの頑健性を持たせるほど暇ではない、 継承したらヤバいかもしれんが全く無保証、という意思表示だしな。 ところでsilverlightでPaint程度のアプリってないんですかね。 実はMacOSXではPaintくらいの軽さのソフトがないから 普及の足掛かりになるかなと思いまして。
サンプルは、ページの真ん中あたりにSLオブジェクトがあります。 分かりにくくて申し訳ない
Sliderってバインドで動かさないとだめなのかな? デザイナーのツールボックスからドロップしてSlider_ValueChangedを 使えるようにするとSL起動の際の読み込み待ちがずーと表示されっぱなし Slider_ValueChangedを外すと読み込み待ちとか無しに起動する・・・
642 :
641 :2011/02/10(木) 11:02:41
うーむ 解決しない
このページを参考にカスタムコントロール作成の勉強を行っています。
http://msdn.microsoft.com/ja-jp/magazine/cc721611.aspx#id0430004 図 2 Page.xaml のところまで進めたのですが
エラー 1 The tag 'SimpleButton' does not exist in XML namespace 〜
というエラーがでてしまいます。
<custom:
と入力すると追加したSimpleButtonが候補としてでてくるのでパスは通っていると思うのですが
他にやることがあるのでしょうか?
現在SL4で開発を行っていますがSL2とでは作法がかなり変わっているのでしょうか?
自己解決しました xmlns:custom="clr-namespace:SimpleButtonDemo; assembly=SimpleButtonDemo" ↓ xmlns:custom="clr-namespace:SimpleButtonDemo" これで問題なくコンパイルできました。
まあちょっとした愚痴だがSL2あたりの記事書いてる人は そろそろ訂正バージョンも書いた方がいいぞ 検索でヒットはするけど混乱の元だわw 半ばスパムに近い存在 SLの替わり方が早いってのもあるんだろうけどさ
それはなぁ、ありとあらゆる分野で成り立つ問題だからなぁ・・・ C言語とか、いまだにC89(いわゆるANSI標準化)以前のコード出てきたりね。 確かに、バージョンアップが急激だったSilverlightでは特に問題かもしれん。
まだCはいいほうだよ かなり前にある程度の基準は出来上がっててるし・・・ SLは居間でさえ進化しまくりなのですでにSL2の描き方が通用しないんだもんな・・・ 結局ExpressionStudio UltimateTrial取ってきてこいつがどういうコード履くかを見た方が早いというオチに・・・
ツールが生成するコードが一番の勉強ソースというのは、MS関連技術ではよくあることw Patterns ans Practice の Prism とか、MS 公式提供サンプル見るのが基本だなぁ。 あと、Silverlight 3とか4はだいぶWPFに近づいたんで、いっそWPFの記事探す方が参考になることもなくはない。
>ツールが生成するコードが一番の勉強ソースというのは、MS関連技術ではよくあることw そうそう 今回の件はブログに限らずMSDNの記事にもいえるw
>>645 いまだに1.4の結果がヒットするJavaにあやまれ!
XAML側でFillなどにARGB値を指定する場合はどう書けばいいんでしょうか
"#AARRGGBB" で書ける
SharpZipLib.Silverlight4.dll使ってるんだけど、ZipEntryで日本語の ファイル名を受け取ると、きれいに文字化けしてる。 これ、回避する方法ない? バイナリでセントラルディレクトリを読んで...というのは避けたいし、 これだけのために商用ライブラリ買うのももったいない...
zip内部の話? 解凍しても元のファイル名の文字コードそのものが 破壊されて無いのであれば解凍後もらえるstringを一旦文字コード判定して S-JISならコンバートするとかすればできそう?
SJIS→Unicode変換の独自実装が必要になるけどな どうせそこまでやるなら、SharpZipLib本体を修正した方がいいと思うが
657 :
654 :2011/02/11(金) 15:21:50
Stringの内部表現(バイト)を直接見る方法ってあるの? それがわからないと 破壊されているのかどうかがはっきりしない。zipentry.nameの表示上では &HFE&HFF,&HFE&HFF,....の同じ化け文字が繰り返し表示される。
stirngってbyte[]に変換できなかったっけ? chararrayでもいいけど
String自体じゃなくて、Encoding.GetBytes通してならできるけど、そういうことでいいの?<内部表現(バイト)
660 :
654 :2011/02/11(金) 16:33:53
そこがよくわからない。 Encoding.GetBytesって、Unicodeなどの形式に変換したBytesを取り出す ということなんじゃないか? Stringのポインタの先にあるメモリを直接 見られさえすれば、とりあえず破壊されているのかどうかの判断はつくんだが。
一応、unsafe文脈内で fixed(char* p = str) ってやれば、UTF16の配列としてstringの中身覗けるけども。
文字化けってのがどうなってるかがよくわからんが ファイル名称はS-JISなのにSharpZipLibがそれを気にしないで そのまま処理してるとなれば S-JISをそのまま.netのUTF16?とかにしちゃってるんでしょ? だったらstringからバイト配列を取り出してそのままメモリストリームにでも突っ込むとかして エンコーディング処理させればS-JISからいい感じで文字が変わってそうだなと思って
ドラッグして移動可能な枠をユーザーコントロールで作る場合 Gridなどのベースの上に四角などを描画するけどマウス関連の アクションを拾うコードはGridに描けばいいのかそれとも上に載せる 図形に描けばいいのかどっちなんだろう? 以前図形単体ではうまく行ってたロジックを移植したら思ったように動いてくれない
664 :
654 :2011/02/11(金) 18:45:25
>> 662 うん、たぶんそうなんだと思ってる。「String配列からバイト配列を取り出す」 っていうのを、VBでやる方法がわからないって書いたほうがよかった。すまん。 Silverlight用にShiftJIS->Unicodeを自前でやるライブラリは作成済みなので、 Byte配列さえ手には入ればどうにかなるんだがな... 素直に、SharpZipLibをゴゾゴソして、ZipEntryのNameを直接Bytesで受け取れる プロパティを追加するか...
WinFormの方で試したけどこれで文字コードが取れるな private void Form1_Load(object sender, EventArgs e) { string moji = "もじ文字"; char[] mojimoji = moji.ToCharArray(); this.Text = ""; foreach (char c in mojimoji) { this.Text += Convert.ToInt16(c).ToString("X4") + " "; } }
>>663 自分が作ったパワポっぽいものでは、
上の図形(FrameworkElement)側で拾うようになってる。
>>666 ありがとうございます。
移動についてはGirdごと移動してますか?
それともFrameworkElement側だけですか?
668 :
デフォルトの名無しさん :2011/02/11(金) 19:48:50
>>663 GridSplitterでは要件を満たさないの?
>>664 SharpZipLibが元のバイト列UTF16として解釈しているなら
Encoding.Unicode.GetBytes(文字列)
UTF8として解釈しているなら
Encoding.UTF8.GetBytes(文字列)
ただし、Unicode文字として解釈できなかった部分は失われて復元できないので、
SharpZipLibを書き換えた方がいいだろうね
>>668 今SilverLightを勉強しながらなのでどれがいいかってさっぱりなんですよね
とりあえずやろうとしてるのがグラフィックツールなどで図形の大きさとかをいじれるように
表示するガイドマーカーをsilverlightなりの実装方法に変えてる途中なんですよ
>>667 コード見直してみたが、
ラップコンテナとしてCanvasを使っていったんそれに詰めて、
MouseMoveが来るごとにCanvas.SetTopなんかの添付プロパティで操作するようになってた。
なにをしたいかによるけど、
StackPanelの子なんかをドラッグして並び変えたいのなら、
ドラッグ中はいったん親コンテナから抜いてCanvas上に貼りなおして、
ドロップ時に適当な順番に挿入する、というのがいいと思う。
GridSpritterで用が足るのならそっちのほうが手軽だとは思う。
>>672 その実行ファイルの方動かないぞ
htmlを開けばいいんだろ?
>>673 そうです
というか普通xap単品では開けない。
忘れてた。 1. 左上のnewボタンを押す 2. rectボタンなどを押してから真ん中の白紙をクリックすると図形が現れる 3. その図形をクリックする ってな要領。 ちなみにまだ大きさを変える部分(ガイドマーカーをドラッグしたときの処理)は実装していない
そのボタンとかなにもでないw 真っ白w ブラウザ依存とかあります?
mjd? 手元のMacOSX+Firefoxでも動いたし、 まずもってブラウザ依存してはSLの意味なす debugビルドのせいかもしれないので適当に考えてみます。
横レスであれだが、ウチの環境ではちゃんと動いたぜ? WinVistaSP2+GoogleChrome。
windowsXP SP3 + FireFox3.6.13 だと表示されず windowsXP SP3 + IE8.0.6001だと表示された 多少SL本体もしくはxapを動かすための周辺コードに依存がありそうだね
Win7x64+Firefox3.6は白紙 IETab(IE8)なら見えた
ビルド時にBinフォルダに入ってるデフォルトの出力をzipしただけだったんだが、 そうなるといろいろチェックが大変になるかも。
何か、Win版のFxが駄目っぽい雰囲気?
683 :
680 :2011/02/11(金) 21:09:26
>Silverlight アプリケーションでハンドルされていないエラーが発生しました: >コード: 2104 >カテゴリ: InitializeError メッセージ: >Silverlight アプリケーションをダウンロードできませんでした。Web サーバーの設定を確認してください Firebugはこう言ってる
実行してみて気付いたのだが、 重なった図形があるときに下の図形をクリックするとガイドマーカーも一緒に隠れてしまうな。 理由は +LayoutRoot +Canvas +ガイドマーカー +図形 +Canvas +ガイドマーカー +図形 ... という設計にしているせいだが、 普通はガイドマーカーを隠さないほうがいいので、 各図形からガイドマーカーを表示したい矩形座標を返す関数を用意して、 ガイドマーカー自体はLayoutRootのChildrenの最上位に固定しておくほうがいいかも。 ドラッグしたらイベントで通知して連動させるか、Bindingできるならそれで、という感じで。
>Firefoxで駄目な人 他のSLアプリをローカルで実行した場合も、同じ様に駄目なんだろうか。 ちょっと試してみて欲しいかも。
>>685 デフォルトでFF使ってるが問題ないな
このアプリで初めてかも
>>685 新規プロジェクト作ってみたけど動かないね
FirefoxがウンカスだったでFA
IE9で動いたり動かなかったりするのはなぜだ
IE9の評価は、一応正式版まで待ってやれよ…w
うはー最悪だ・・・ Canvasの継承じゃなくユーザーコントロールで作り直したのに Slider.ValueChangedをXAMLに記述したらまた読み込み待ち画面のままだorz
ローカルに置いたのが動かないのは 日本語パスの問題じゃねーの?
ユーザーコントロール内部に貼り付けたコントロールのイベントハンドラを 外部に使わせる場合はどうかけばいいのでしょうか? setは問題ないんですがgetがよくわかりません +=とかできるのが関係してるようですが・・・
+LayoutRoot +Canvas A +図形 +図形 +図形(Point A,Point B・・) +Canvas B +ガイドマーカー A +ガイドマーカー B +Canvas B +tool窓 こんな感じのレイヤーで動かしてるプログラムがあるんだけど ガイドマーカーAやガイドマーカーBを動かすと図形のPointAが変わったりPointBが変わったりする ようにしてあるんだがバインドでうまくやる方法はないだろうか? あとガイドマーカーが動いたりするとCanvas Aに指示を出したりするだけど 現在はCanvas BがCanvas Aのインスタンスを持ってたりして気持ち悪い状態だったりする
図形とガイドマーカーのMかVMにバインドするだけじゃないの? イベントハンドラに書いた処理でモデルを直接操作したり、モデルすっ飛ばしていきなりビューの要素を扱う、 などの糞コード書いているのでなければ悩むことなどなさそうだけど
>>696 マーカーの表示位置とPointのスケールが1:1なら単純にバインドでいいんですけど
問題は1:1.5とか1:0.5とか拡大縮小にあわせる必要があるんですよね・・
その辺を含めて何かないかなあと思って
>>697 Binding.Converterに何か噛ませればいいんじゃないの?
>>698 おお!
そんなのがあるんですね
調べてみます
ありがとうございます
700 :
デフォルトの名無しさん :2011/02/13(日) 04:06:52
IsoratedStorageに自作クラスのオブジェクトを保存しようとすると 例外が投げられる(SiteSettingsのSaveメソッド) 型 'System.Windows.UIElement' をシリアル化できません。 この型に DataContractAttribute 属性を設定するか、この型のメンバーのうち シリアル化するものすべてに DataMemberAttribute 属性を設定することを検討してください。 または、型をパブリックにして、パラメーターなしのコンストラクターを追加することも可能です。 こうすると、型のすべてのパブリック メンバーはシリアル化され、属性は必要ありません。 自作クラスのプロパティにImageオブジェクトがあるからだろうけど、具体的に何をすれば良いの・・・ MSDNでDataContractAttribute検索してもまったく理解できん死にたい
感だけどシリアル保存用のpublicクラス作ってそのクラスを使って保存用データを一旦作って そいつを渡してみる 確かシリアライズってpublicクラスでプロパティなんかもpublicじゃないと使えなかったような
おっと自分の質問忘れるところだった <UserControl> <Canvas> <my:MyCanvas> </my:MyCanvas> </Canvas> </UserControl> MyCanvasが持ってるスライダーの値を使ってCanvasのスケールを操作したい場合の バインディングってどう書けばいいんだろう <ScaleTransform ScaleX="{Binding Path=Value,ElementName=[ここがわからん]}"/>
>>700 IsolatedStorageSettings クラス
分離ストレージにキーと値のペアを格納する Dictionary<TKey, TValue> を提供します。
SiteSettings.SaveはiniファイルやCookieに相当する、
[AttribName: value]
形式の連想配列で表現できるようなデータを格納するクラスだから。
どんなデータを保存するか良く考えよう。
編集中のドキュメントを保存するならSystem.IOを使う。
あとデータメンバにインスタンス参照を含むようなものはシリアライズが難しいから、
それを文字列として表現できるかよーく考えよう。
>>702 そこはドキュメント通りなら以下の通り。
バインド方向にもよるだろうけど。
> 対象となる要素の Name プロパティまたは x:Name 属性の値。
<Slider x:Name="scaleSlider"/>
...
<ScaleTransform ScaleX="{Binding Path=Value,ElementName=scaleSlider}"/>
>>700 そのクラスおよび全ての基底からシリアライズできない型のメンバを排除する
具体的には、
1. シリアライズできないメンバを削除orシリアライズ可能な型に置き換え
2. クラスにDataContract属性を、シリアライズできるメンバだけにDataMember属性を付ける
なんだが、シリアライズするならモデルだろうからUIElement持っているのがおかしい
あ、自前のクラスでなくて、シリアライズできないものを派生しているのは論外だから
>>704 MyCanvasというのがユーザーコントロールの場合はどうも無理ぽいですね・・・
しかしバインディングで対処できる箇所を書き換えてますがコードが減る減るw
Binding.Converterで変換する際に一つ外部から要因を与えたい場合はどうすればいいのでしょうか? double A 変換したい数値 double B Aを変換の際にかけたい数値 double C Binding.Converterの変換結果 Bはスケールなのでユーザーの操作で数値が変わる
VMで何でも出来るんだから Binding.Converterってあんまり出番ない気がするけど気のせい?
>>707 リソース中に
<XxxConverter x:Key="xxx" B="111" />
って書いて、こいつを {StaticResource} で読めばいいんでは。
(XxxConverter 作るときにpublicなプロパティBを定義しとく)
>>708 それはそれでめんどくさいけどもね。
管理しないといけないPropertyChangedの量増えるし。
>>709 <XxxConverter x:Key="xxx" B="111" />
このBの部分をさらにバインドで処理可能ですか?
>>710 XxxConverterをDependencyObject継承させて作って、
Bを依存関係プロパティにすればいけそう。
712 :
デフォルトの名無しさん :2011/02/13(日) 16:40:54
バインディング系で便乗 XAMLに <TextBlock Text="{Binding Path=Power, Mode=OneWay}" /> があったとして、分離コードのほうでプロパティにPowerを含むオブジェクトをDataContext に突っ込む this.DataContext = 該当オブジェクト; こうすると、DataContextに突っ込んだオブジェクトのPowerが増減するたびにXAMLが表示して いるPowerも変化すると思うんだけどなんか間違ってる?? どうも動きがOneTimeになってそうなんだよな〜読み込み時の値しか適用されない
INotifyPropertyChangedは実装してる?
714 :
デフォルトの名無しさん :2011/02/13(日) 17:00:33
>>713 なるほど、そんなことをしないといかんのか。
しかしこれプロパティがいっぱいあるクラスだとかなり大変じゃない?
>>714 ツール化してる人もいるね
でもデータ保持クラスに決まった記述さえしてしまえば
あとは勝手にデータを参照更新してくれるんだから楽をするための
苦労と思えば・・・
コードをしこしこ書いてバグで悩むよりよっぽどいい
依存プロパティじゃなくてINotifyPropertyChangedを実装するのは DependencyObjectの継承を避けるため?
>>706 MyCanvasが公開しているはずのスライダー値のプロパティにバインドするだけじゃないの?
ユーザーコントロールの子コントロールに外部からアクセスしようとか阿呆の所業
>>707 OneWayならMultiBindingで可能だけど、逆方向も必要ならVMの仕事だろうな
例えば、getter, setterにC=A*B, A=C/Bを考えている場合など
>ユーザーコントロールの子コントロールに外部からアクセスしようとか阿呆の所業 うお・・・できないのか・・・ 名前さえ付けとけば見えると思ったのにw
出来なくはないがめちゃくちゃになりそうではないか・・・
そんなユーザーコントロールの意義を真っ向から否定するようなことするくらいなら、 最初からユーザーコントロールなんて作らなければ良いと思う
722 :
デフォルトの名無しさん :2011/02/15(火) 03:16:57
フリーのカラーピッカーってないんですかね? 無いのなら作ろうかと思うんですが需要あるかな?
>>723 厳密ってのがなにかよくわからんがHSVなら一応そのアドレスのもなってね?
円形がいいってのならそれはだめだろうけど
>>724 デバイス依存じゃなくて物理量定義のやつ。
AdobeRGBとかxyYとかL*a*b*とか。
>>725 それもMs-PLで公開してくれるのかな?
HSVのカラーピッカーってHを変えたら256x256回も毎度計算するんだろうか? 起動時に計算してプールするにしても無駄にメモリと時間食いそうだし 一般的な3DCGの頂点カラーさえ使えればポリゴン2枚で正方形作って 四隅の色だけ計算して後はピクセルシェーダーに担当させればよさそうなんだけど SLってその辺どうなんだろ?
Sliderについてなんですが率直にいうとバグがありませんか? 上でもどなたか質問してるようですが、ValueChangedイベントを設定するとSLアプリの 読み込み待ち画面から先にすすみません <UserControl>     <Canvas>         <Rectangle/>         <Canvas>             <TextBlock/>             <TextBlock/>             <Slider/>             <TextBlock/>             <TextBlock/>             <Slider/>             <TextBlock/>             <TextBlock/>             <Slider/>             <TextBlock/>             <TextBlock/>             <Slider/>        ←ここのValueChangedの関係でおかしくなる         </Canvas>     </Canvas> </UserControl>
Silverlight 4アップデート出たね
731 :
デフォルトの名無しさん :2011/02/16(水) 05:55:17
Silverlightで作った物をアップするのにどこ使ってますか? xapに対応したところってあんまり無いような・・・
MIMEが登録されてなくても同じドメインからHTMLで呼び出す分には使えたと思うけど
html埋め込みでxreaは行けるよ
>>732 silverlightそのものは一応呼び出してるんだけど真っ白なんだよね
右クリックするとsilverlight(S)ってでるので一応は読み込めてるんだと思う
>>733 それってxamlをhtml内に入れるだけってやつ?
俺は無料VPSかな
ピクセルシェーダはJITコンパイルでもやってるのかな ベクトル化は当然としても、シェーダのバイトコードをインタプリタ実行してる割には速すぎる気が
>735 ジオでOK
>>738 ありがとう
拡張子偽装しないとEZアップロードできないけど
その辺を対策すればあっさり動いた
>>737 Silverlightってコンパイル済みのシェーダーしか読めなくなかったっけ?
>>740 まあ、ピクセルベースで、ふちのギザギザも取らないでいい、
毎フレーム自分で計算してドットを埋めてくってのでいい
っていう条件下での話よ<10倍速い。
KeyDownのテストをやろうと思ってコード書いたんだが どうもFocusが取れてないようでKeyDownイベントが発生しない んだけど特別なやり方ってあるのかな? コンストラクタに this.Focus(); と書いてもGotFocusイベントすら発生しない・・・
>>741 コンパイル済みのシェーダは中間言語だよ
.NETのCILと同じように、実行時にGPUのネイティブコードに変換される
Silverlightの場合はCPUで動くネイティブコードに変換されてると思われる
mvvm実装疲れる 奥が深い分野だよね
Expression BlendはMVVMだけどコードビハインド使いまくってるね Prismのドキュメントにもあったが、ビューの特定の実装に依存するような処理は 素直にViewに書くべきなんだろうな
ふー html関連を普段やらないので疲れた・・・ 本当はブログにさくっと貼れるとよかったんだが
>>745 >>746 MVVMのスタイルに従うと、やるべき事が色々と事前に判っちゃうっつーか、
判っておかないと下手に取りかかれないから、面倒だけど作業が計画的になる
というメリットはあるよね。
実行時にクラッシュすることがたまにあるんだけど調査用のログとかそういうのって SLの場合どう拾えばいいんだろう?
MVVMがわかりやすく説明してあるサイトを教えてください
>>750 onSilverlighterrorでサーバーに送信
754 :
750 :2011/02/19(土) 03:16:34
エラーの原因とは別件でCanvasにオブジェクトを追加したり削除したりするじゅうらいの方法だと フレームレートが安定しないのでCanvasにセットしたオブジェクトはいじらない方式に変えたら エラーが起きなくなった・・・ SLのGCってもしかしてそんなにガンガン使わない方がいいのかな?
>>747 ViewModelの捉え方はいろいろなんだろうけど、
Modelに結びつかない処理はViewのコードビハインドで済ますべきだと思う。
>>754 自分も似たような経験があって、
結局メモリプール方式を使ったよ。
>>755 Prismの判断基準がわかりやすい
スキンみたいな感じでVを別のものに差し替えたとき、
変わらないものはVM
変わるものはVに書く
らしい
>>747 特定のViewに結び付いてて、他で使いまわせない処理ってそんなにある?
他のViewでも使いまわせそうなものはビヘイビアー化する方がいいわけで。
ViewとViewModelの話だろ ViewModelを作るときにViewの具体的な実装(このプロパティはテキストボックスとバインドされる、とか)を 前提にするべきではないということ
760 :
デフォルトの名無しさん :2011/02/19(土) 21:21:33.06
MVVMもいいけど、XAMLのデバックが難しい。 ピンポイントでオブジェクトのバインド状況が確認できるといいんだけどね
XAML要素のIDと、バインド先の対応表を 別のファイルに書いておいて、それを元に作業するとか
>>760 次バージョンはXAML中にブレイクポイント仕掛けられる機能が付くらしいよ。
ufcppのサイトのC#とWPFのところをひととおり覚えたら スラスラとWPFプログラミングができるようになった 神サイト
SLで開発している人に聞きたいんだけど、市販のSL入門書で勉強して、 いきなりまともなコードをかけるようになりましたか? その場合、.net で開発していた経験が役に立ちましたか? 当方、.net 初心者で、いきなり SL 開発やらされたのですが、 まともなコードが書けないです。
そりゃ.NET開発の知識をそのまま生かせるのが売りだからな GUIフレームワークは独自のものだけどライブラリはだいたいフルセットの.NETと同じ GUIやWindowsプラットフォームに直接依存してない部分は.NETのコードをほとんどそのまま使いまわせるくらい 本で勉強するなら普通の.NET FrameworkとVisualStudioと あと重要なのがWCF
766 :
763 :2011/02/20(日) 14:18:33.03
私の場合は、Win95時代からWin32やMFCプログラミングをしていて、そのあとWinFormsにも携わっていた。 だけども、C#2.0〜4.0, .NET3.0以降〜の知識が乏しいと気づいて 今年の1月から今にかけて猛勉強した。 これからは間違いなくWPFの時代になるけども、初めはWPFの軽量版であるSLから初めてWPFに慣れようと思った。 実際にSLは組みやすいし便利。 何も知らない人がWPFを始めるのは頭が痛いんじゃないかな? 俺もWPFの概念理解するのに苦労した。
WPFの時代くるの?勉強しようかな
SLでもWPFでもそうだけど、学び始めはMVVMについては忘れた方がやりやすい。 バインディングとかコントロールテンプレートとかに慣れてからじゃないと MVVMは意味不明。
>>767 WPFのあのプログラミングモデル(Silverlightでも共通)の時代という意味だと来る。
「GUIと言えばWPF」という時代が来るかというと、それはたぶん来ない。
文字、画像、動画、ベクターなど、どんなものでも統一的に扱えるWPFは、まさにこれからのGUIだよ。 WinFormsなんて使いにくくて、今更戻れない。 Windows8も、ベクターベースのOSになるはずだし。
でも、手っ取り早く作る場合winformのほうがいいときってない? 過去の資産もあるし。 未だにWPFは好きになれないんだよな。
>>771 資産云々を言い始めたら、WinFormが有利は確か。
でも、WPFやSLのアーキテクチャは覚えておいて損はないと思う。
既存のコントロールをそのまま組み合わせていくだけならFormsの方がらくちんかもね。 DataGridに関してはFormsの方がパフォーマンスいいよね。
WPFは DrawingVisual-GeometryDrawing-EllipseGeometry みたいな階層構造とか アニメーションやビットマップのAPIとかが複雑すぎる Silverlightくらいが丁度いいわ WPFの勉強してたとき、描画はOnPaintのような感じで行うものと思い込んでて 調べ回ってOnRenderに辿り着いて毎フレームOnRenderで描画したら超遅くて WPF糞と思ったのはいい思い出
C#知ってる状態でSilverlightを1から勉強するのにオススメのサイトとかありますか?
SLで何をしたいかで絞って覚えた方がいいんじゃね? 大手の情報系サイトはsilverlightでも相変わらずDataGrid使ったビジネスアプリぽい解説が主体だしな
それがSilverlightの普通の使い方でしょ LightSwitchが当たったらVB使いだらけになるんだろうね
>>775 C#とWPF知ってれば、そもそも1から勉強する必要はないよ。
ViewModelの説明がおかしいな その程度のサンプルならいくらでもあるんだけど 画面遷移とかViewModelからViewへの通知とかMVVMで詰まりやすいところまで踏み込んだ実践的なサンプルが欲しい 現状Prismくらいだよね
MVVMって今のところ良い参考書もないから、 どのように組めばベストなのか宙ぶらりんな状態なんだよなあ。
その前になってViewModelが二つあるの?
>その前になってViewModelが二つあるの? その前になんでViewModelが二つあるの? ですorz
784 :
デフォルトの名無しさん :2011/02/21(月) 19:22:55.11
XAMLがViewなのは理解してたけどINotifyPropertyChangedを実装したクラスが ViewModelに相当するんだな サーバーと通信するソフトはまだ書いて無いのでModelの存在がさっぱりわからんかった
そうなんだよなー、実用レベルの話となるとPrismしか無いんだけど、Prismだとちょっと重厚壮大な所もあって。
atmarkitのビーデー川俣さんの記事は独自な文章が多くて非常にわかりにくい。 頭の良い人だとは思うけど。
頭のいい人はアホがなんで理解できないかわからんのです
あの人は分かりやすくしようとして分かりにくくなってるな。
本当に頭の良い人はアホにもわかる文章を書くけどね 同レベルの人間にしか理解できない残念な文章を書くのは何時だって盆暗だよ
>>789 それは違うかな。
優れた業績を残す研究者が必ずしも優れた教育者ではないし。
まあ、それは別としてもあの人の文章は残念としか言いようがないけれど。
792 :
デフォルトの名無しさん :2011/02/22(火) 06:38:24.29
そんなものに対応するわけがないし、 別に現状のdat読み込みでいい。
794 :
デフォルトの名無しさん :2011/02/22(火) 08:59:16.60
>>793 何か勘違いしてないか?
SLで作った専ブラからdat取得したりする場合はこれを設置してもらわないと
OOBするしかないんだけどな・・・
読み込むだけなら、WebClientでもいけるだろ。 SLはあくまで、ローカルへのアクセスが限定されるだけで、対ネットワークはオープンだろ。
じゃあドメイン間ポリシー・ファイルって何で必要なんだよw
自鯖に渡して取ってきて貰えばいいじゃん リバプロすればコストも低いしさ
>>791 ここはおれもよく読ませてもらってるわ
逆に@itの川俣君の記事はサンプルのくせにサンプルにならん
OOBにすればクロスドメイン間の読み込みはできるけど、 むしろ解決すべきことは、エンコードでは? SLはshift-jis使えないでしょ。
>>799 そのくらいだったらそれほどでもないだろ
以前とある野良開発で文字コード変換は書いたことがある
自力でなんとかなるところはどうでもいいが外部サービスとの連携だけは
相手あっての物なのでいろいろと厳しい
文字コード変換も結構だけど、Streamから一発で取得したい。 たしか、SLでも出来たと思ったんだけどなあ、やり方忘れた・・・。 なんだったかな・・・前に実験してみて、うまくdat取得できたんだよな・・・
>>800 いや、クロスドメイン間でのセキュリティを強化するってのは理に適っているから文句はないが、
(もちろん、OOBにすることでセキュリティを緩くできるようになったのはGoodJobだけど)
むしろさ、どーしてShift-JIS変換を使えるようにしないの?と思ったりしない?
MS的にはテメーラでカスタムエンコークラスを作るか、サーバに任せちゃえみたいなやり方のほうが気に入らない。
WPFにあるEncodingクラスのshift-jisを使えるようにしてくれればいいだけなのに、
そんなどーでもいいようなことで開発者を苦しめるのはおかしい。
804 :
デフォルトの名無しさん :2011/02/22(火) 11:04:43.99
>>803 まーこう言ってはあれだがS-JISってのが田舎コードともいえるしな・・・
SLって日本語は後回しってイメージなので放置されてるのかもw
すまん俺もそれ作った
今俺書いてるところだったけど、コレ貰ってくわ ありがとう
俺もSLで2ちゃんブラウザ作ってるけど、ネックはエンコードだけだったから、 MSがshift-jis対応してくれれば解決する話。 なるべく自作部分は減らすってのが俺の流儀なので。
>>811 OOBタイプ?それともプラグインのままでクロスドメインはサーバーに担当させてる?
>>812 もちろんOOBですよ。
2chサーバへのアクセスを全て自鯖でやるなんて、考えられない。
たとえSLといえど、2ch鯖へは各自クライアントがやるべき。
SJIS実装しないなんて絶対におかしい。 日本で普及させる気ねえだろ。
RichTextBox で指定行にジャンプさせる方法ってありますか? 最初と最後は指定できるみたいだけど、行指定でジャンプさせるのは文字数をカウントするしかないんでしょうか?
>>818 指定行ごとは無理だろけど、指定した要素に対してScrollすることはできる。
それよりもs-jis問題に頭遺体・・・
穏健に行きたい人でも「詩的な表現をなさるから」と婉曲表現する程度の文章。
とにかく無駄な説明と言い回しが多いイメージ 読んででとにかく疲れる
Silverlightスレでするべき話じゃないな
Flashよりもはるかに組みやすいんだけどな>SL 歴史と知名度でFlashに勝てそうにない現実
別にFlashを目指してるわけじゃないからな Web版VBまっしぐら
>>820 BSoDのようで神経を逆撫でるページだな
>>825 バインドに慣れるまでがあれだがなれるとC#でごりごり書かなくてよくなるのでいいよね
個人的にはSLの仕組みは好きだな
>>826 個人的にはいまさらFlash覚えるよりはC#で書けるSLを広めたいね
で、質問なんだけど
バインディングコンバーターってリソース扱いにするけどあれって
XAMLを解析した段階でインスタンスがでてきてて
それを再利用してるだけって感じでいいのかな?
それととあるゲームを作ったんだがCanvasの子にRectangleをいくつか並べてるんだが
これをなるべく手数を増やさずXAMLで完結させてバインドも楽する方法はないだろうか・・・
もう一つ質問 バインディングコンバーターを作る際にOneWayの場合はConvertBackは 必要ないけど適当に処理を書いておけばいいのかね?
shift-jis -> unicodeに変換するコード探しています どこかに落ちていませんか?
偉そうと取るかフレンドリーと取るか 日本でITが糞なのは便所の落書きでさえ敬語から入らないとダメなところかもな
敬語は日本のいいところ
ソースに敬語が入ってなければ問題ない。糞なのはおまいさんだ。
>>817 Shift_JIS対応はいらんだろ。
多言語対応はウニですること、ほかは
対応しないことが合理的。
でなければ、いろんなエンコーディングの
文字テーブルをいちいちSLバイナリに
含めるのか、という話になる。
つーか、世界の言語を統一すべき。日本語に。
Shift-JisがSLで使えないってことはWP7も同じなんだよね? 2chブラウザ出るの遅そうだなー
ピンポイントで対応するなら
>>803 で十分
そもそもSilverlightはあくまでWebアプリの窓口にすぎないんだから
必要ならサーバーサイドでやれ
>>838 >そもそもSilverlightはあくまでWebアプリの窓口にすぎない
それならモバイルOSとしては失敗じゃん
SLをWCFなどを使って通信やる以上は別に困らないしなあ・・・ 結局一部の特殊な運用でS-JISがいるだけでしょ? 2chという便所の落書きデータをやり取りしたいがために・・・
もうSJISなんてソッコー捨ててUTF-8にしようぜ
そういえば2ch側ってUTF-8とかの対応は大変なんだっけ? アホな機能実装する暇があったらUTF-8にしろってことだな
金払ったら負け
カスカス動画に金払うとかあほすぎる PGや設計を高レベルで出来るやつ集めたって話じゃなかったのか?
しかし高々500円でそこまでムキになれるお前らは凄いわ
俺は3アカウント取ってるから1500円だよ
>>836 日本語の処理は面倒だから、統一するなら単語間にスペースのある言語にしてくれw
>>832 その態度がフレンドリーだと思っているのかね?
日本のせいにする前に、少しは自分を見直したらどうかね?
>>848 日本人がこれだけ優れているのは日本語のおかげ
それを捨てるなんてとんでもない
日本人が優れているっていつの時代の話だよ 今は中国・韓国のほうが上だぞ
バインディングのテキストメッセージのやり取りをログで見たりすることは可能でしょうか?
>>852 ありものを不正にパクって不当に安く売ってるだけじゃないの
これのどこが上なんだよ
shift-jisに変換するプログラムを自作した。 文字コードについて疎かったので学習するまでは大変だったが 仕組みがわかったら、コーディング自体は簡単だったw たしかに、グローバルで考えたら各国ローカルの文字コードをSLに入れるのは無駄だよな。 軽量版だもんね。 これでやっとSLでshift-jisが扱える。
車輪日記は他でよろぴこ
Sliderの移動量などを整数にしてもvalueの型がdoubleなので textblockなどに直接バインドしちゃうと小数点以下まで 表示されますがint扱いにするにはコンバーターを挟む方法しかないのでしょうか?
SliderにバインドしているintをTextBlockにもバインドするだけだろ
>>858 ありがとうございます。
>>859 そのintすら必要の無いElement-to-Elementで済む場合に・・・と思いまして
別のっつーか続きだな 更新履歴には無いけど、上で指摘されてた画像の件 (ViewModel二つ) もこっそり直ってる
昔のゲーム機のようなスムーズで全画面スクロールを実現する場合いい方法ないだろうか Rectangleを大量にCanvasに配置してImageBrushでRectangleをFillしていったが 136x136程度のマップでも準備にすげー時間かかる ちまちま管理するのもいいがもっといい方法あれば・・と思って
タイルを敷き詰めたマップみたいなやつ? そういうのはWriteableBitmap1枚にまとめてしまえばいい Render使ってしまうとやっぱり時間がかかるので、ピクセルを自分でコピーすれば高速
865 :
デフォルトの名無しさん :2011/02/25(金) 22:16:26.57
>タイルを敷き詰めたマップみたいなやつ? まさにこれです >そういうのはWriteableBitmap1枚にまとめてしまえばいい >Render使ってしまうとやっぱり時間がかかるので、ピクセルを自分でコピーすれば高速 なるほど
textblock.textにコードビハインドじゃない方法で 改行付きの長文をバインドしたりする方法はありませんでしょうか? できればxamlだけで完結させたいのですが・・・ それか改行付き長文は外部のtxtファイルなどにおいておいて xamlだけでリンクさせて表示とか可能でしょうか?
shiftjis化するのは技術的に問題ないのだが、 重要な点は高速化だよね。 ストレスフリーで2ちゃんしたいから。 一見トロそうに見えるけど、それはtextboxにstringを設定して表示するのがやたらと遅い。 変換自体は高速だと思う。
速度に関しては、どこがボトルネックになってるか きっちりプロファイル取ってみるべきだと思う
でもまあブラウザプラグイン側でわざわざ文字コード変換はしたくないよねw 2chには意味不明な機能つける前に順当な進化をして欲しいもんだ
MVVMは100%流行らんわこれ
すでに普及してないか?
他はMVCだからなぁ。 MVVM言われてもピンとこないわ
System.Windows.Interactivity.dllが標準になって、Visual StudioのみでBlend相当の事までできるようにならない限り、普及も糞も無いと思う。
MVVMは凡人に使わせる事が出来るほど簡単じゃない よって100%流行らない
自分が理解できなかったからって他人もそうだと思うなよ
VMがVに依存しないように作るのは確かにとても難しいが ビューとロジックの分離ってMVVMだから難しいんじゃなくて ある程度の規模のアプリケーションならどのみち必要になること
MVVMを3行で解説してください
分離しなくて良いとは微塵も思わんが ぶっちゃけ、VとMだけで良くね…?って気分にはたまになる
ぶっちゃけMVVMより、WPF/SilverlightのBindingまわりが強力で 便利に見えてるだけって気がしないでもない
Silverlightアプリなんて大抵HTMLに毛が生えただけの Webサービスのフロントエンドに過ぎないんだから そんなに大げさな設計が必要なケースは多くないと思う
884 :
デフォルトの名無しさん :2011/03/03(木) 23:03:48.94
>>881 でも、Mに入れたくないプロパティも存在する。
そんなときこそVMの出番だよ。
VMが必要ないときは、Vに直接Mをぶち込んでも良いのでは?
VM使ってなくて、Mに入れたくなければVに入れればいい VMを使うとしても、ビュー固有の処理が必要なければ 直接VMのプロパティでMを公開してVで{Binding HogeModel.Hage}のようにバインドするのもアリ
M自体にINotifyPropertyChanged付けるのは何となく嫌
Silverlightならモデルといってもほとんどがただのエンティティだから INotifyPropertyChanged実装するのはわりと普通じゃね
必死にVを薄くしてる奴にお前は本当にそのVを挿げ替えるんかと問い詰めたい
別にVを挿げ替えるのが目的じゃないよ、 お前は本当にVMを単体テストするんか が正しい
ぶっちゃけデスクトップでタッチパネルは流行らんだろ 指先数センチ動かせば操作できるマウスと、腕を含めて数十センチ動かす事になるタッチパネルじゃ疲労度が違いすぎ そして数センチの世界になると指が邪魔すぎて操作し辛いというジレンマ そうこうしている内に本当にタッチパネルが必要なジジババはご退場なさる
>>891 タッチオンリーは難しいだろうね。ただタッチパネル"も"使えると時々便利だよ。
概念は理解できたけど、 いざ自分の作るアプリにMVVMを適用するとなると なかなか先に進まない。 今は、もう一度MVVMの資料を読んでおさらいしている。 MVVMは深いよ。 SLだけの開発で終わるなら、そこまで学習することは無いと思うけど、 今後普及するWPF開発を前提としているから、MVVMは無視できない存在。
別に難しくないような DBを使うのにSQLがあるような物だし
そのWPF自体が・・・
ああ?なんだよ、はっきりいえよ!
シルちゃんのmvvm マクドナルドで半日居座って勉強して全体像がわかった
仕事で業務アプリやってるんでそっちはいいんだけど ゲーム作るのに参考になるサイトとか書籍はないのかね
ゲームなんか音鳴らせて画像や図形表示できて入力取れて一定時間毎に処理を走らせられたら あとはSilverlightだろうがDirectXだろうが何使おうが一緒だろ SilverlightはGPUアクセラレーションを有効にした上で要素(特にImage)にBitmapCache指定すると 直接Direct3Dを使うのとそれほど遜色ないくらい爆速になるよ
WPFは覚えるのが大変だけど、 マスターした後の自由度の高さはすばらしい WinFormは、覚えるのが楽だけど、実際に作っていてメンド臭くなることが多い やっとMVVMあたりを覚えられて、自分のアプリケーション構築しているところ 覚えるまでが本当にしんどかった。
バインディングだけ覚えればおk MVVMは無意味
覚えられない敗者の持論はいらないです^^;
WPFはいいけど、今のsilverlightでMVVMは無理がある。 WPFと違って、VisualTreeがUIElementが削除されても、 Bindingによって登録された INotifyProperty.PropertyChangedのイベントハンドラが削除されない。 (ListBoxみたいな、UIElementが再利用されるコントロールなら 再利用されたときに削除されるけど、再利用されない場合はダメ) これのせいで、VMの寿命がVより長いとメモリリークする。 で、VMの寿命をVに合わせるとMVVMの利点の多くが消える。
弱参照でそれは解決済みです
WeakEventの実装には ・ 登録する側で実装する方法(WeakEventManagerを使う方法) ・ 登録される側で実装する方法(CommandManager.RequerySuggestedで使われてる方法) の2つがあって、 前者はBindingの内部実装を変更する必要があるので使えない。 後者は登録する側がWeakEventであることを意識していないと問題が出る。 (例えば、クロージャをイベントハンドラにすると、 他の場所からの参照が無いためにCGに回収されてしまったりする。) CommandManager.RequerySuggestedみたいに、 最初からWeakEventが前提とされているイベントならいいけど、 PropertyChangedはそうじゃないので、勝手にWeakEventにするわけにはいかない。
先人か解決してます ちゃんと調べましょう
横からだけどその辺はどういうキーワードで調べればいいんだろうw まだまだなのでその辺はまったく知らなくて丁度いい
有名どころのブログを読んでれば次から次に情報は入ってきます MSの中の人のブログよりも個人で試行錯誤してるブログの方がお勧めです
ほんとに解決してるのかなぁ? ドキュメント化されてないBindingの内部実装に 依存した物ならいくらでもあるけど・・・
普通に作ったらメモリリークするような仕組みが広まるわけねーわ
MS関連のライブラリはこんなのばっかりだよ WPFもWCFもWFもEFも、 便利ではあるんだけど、落とし穴だらけで凄く使いにくい LINQやASP.NET MVCみたいに使いやすいライブラリも出てきたけど、 MVVM関連はダメだ
こんにちは シルバーライトでフラッシュアプリ的なものが作りたく、シルバーライトを始めようと思ったのですが 【Visual Studio 2010 用 Microsoft Silverlight 4 Tools (日本語版)】 【Silverlight 4 ソフトウェア開発キット (日本語版)】 【Expression Blend 4 評価版】 このあたりをインストールしなければならないようなのですが、自分は今VC++2008EEしか持っていません しかも全部無料じゃないとできません どれをダウンロードすれば、VC++2008で普通にプログラミングしているように、ゲームを作って動作を確認しながらプログラムを組んでetcというよううなことができるのでしょうか?無料で
MVVMの強参照の話とか1年以上前の事じゃないか 解決策がごまんとある上、今更過ぎて突っ込むきもうせる
>>906 直接Bindingするんじゃなくて、Behavior経由で変更を通知すればOK
> 前者はBindingの内部実装を変更する必要があるので使えない。
Behaviorなら好きなようにカスタマイズできるでしょ?
>>914 必要なのは
Visual Web Developer 2010 Express Edition (無料)
Visual Studio 2010 用 Microsoft Silverlight 4 Tools (無料)
の二つ
C++は使えなくてC#かVBのみなので悪しからず
そういえばベクタグラフィックさんは元気にしてるかな 個人的にソフトそのものが使いたいんだがw
>>917 ありがとうございました!
さっそくダウンロードしてみます!
ダウンロード完了して新しいプロジェクトをウェブデベロッパーからC#で作ったのですが デバッグ開始したらOops! Google Chrome could not connect to localhost:51676 と出て、ネットに繋がってない時にネットブラウザを開いた時みたいになります チュートリアル系のサイトだと普通に表示されてるのですが何がおかしいのでしょうか?
>>917 F#さんをディスったね!
>>920 俺もGoogle Chromeでテストしてるけど、そんなエラー出ないなー。
デフォルトブラウザを、他のブラウザ (IE等) に変更しても、類似のエラー出るか試してみて。
922 :
デフォルトの名無しさん :2011/03/05(土) 21:37:13.38
>>921 ありがとうございます
既定のブラウザをIEにしましたが、Internet Explorer ではこのページは表示できません
となり、やはりlocalhost:51676のポートがダメだみたいなエラーになります
SilverlightのSDK ToolとWeb Developer 2010EEをインストールして、Web Developer 2008EEをアンインストールして
ランタイムをインストールして、新規プロジェクトを作って何もせずデバッグ開始しただけです
>>922 チェックを外すとサーバー上の外部ファイルを読むテストができなくなるので事実上必須
ASP.NET使わないならWebアプリケーションの種類はWebサイトにしておく
>>922 ありがとうございました!
新しく作り直してそこのチェックを外したらできました!
OSはVistaでした!
>>924 今のところsilverlightでサーバーとの連携するところまで
使ってないのでチェック外しても問題なかったけど
今後サーバーとの連携するアプリとか書く場合はチェック有り
になるってことでいいんですかね?
サーバ上の外部ファイルを読む要件が無ければ外しても良い…んだよな。多分。
Silverlightのパッケージの外のファイルを読むために必要。 たとえばhtmlがあるフォルダの中にある他のファイル。 よっぽど単純なケース以外は必要でしょ。
>>927 今のところ読まないアプリでslに慣れてる段階ですが
特にテストで困ることはないですね
アプリを動かすためのhtmlも一緒に出力されるので
>>928 なるほど
そろそろその辺のアプリも書こうかと思ってたので
はまらなくてよかったです
じゃあどうすればちゃんとブラウザで見れて サーバ上の外部ファイルも読みこめるんですか?
普通はローカルサーバーが起動してれば開けるよ 環境がおかしい
>>922 のチェックをつけるとテストの時に簡易webサーバーも一緒に起動するだけど
あなたの環境のなんらかの影響でサーバーが起動できてないか通信を阻害されてるんだと思う
vistaなのでUACの関係かウイルス対策ソフトの影響かどうかわからないけど
(´;ω;`) 普通はとか言われてもそのへんは買ったパソコンのままだお ウイルスソフトはAvastとVistaのデフォのやつとぐらいしか常駐してないお
開発用サーバーは起動してるのか? デバッグ開始時にタスクトレイに開発用サーバーのアイコンが表示されるのが正常 WebDeveloper2008を後で削除したのが影響してるとか
>>934 デバッグ開始するとタスクトレイに
ASP.NET開発サーバー ポート51676
というアイコンがでまつ
詳細を表示すると
ルート
http://localhost:51676/ ポート 51676
仮想パス /
物理パス Projects\SilverlightApplication1\SilverlightApplication1.Web\
ASP.NETのバージョン 4.0.30319.1
と出ます
一回ウェブデベロッパー2010アンインスコしてみます
>>936 全くこれと同じアイコンです
自分のは1行になっててポート51676と書いてあるだけでした
>>938 もうアンインスコ終わったおw
今再インスコ中だお
終わったらやってみるお
ありがとうだお
chromeが動いてる時点で「そのへんは買ったパソコンのまま」というのがうそ臭すぎる OS入れなおせ
でも俺以外にもできない人いるわけだし…
じゃあASP.NET開発サーバーじゃなくて他のローカルサーバーが動くかどうか確認してみて それもダメならスレ違い
プログラム板はIDないから・・・
どうやって確認するんですか? 昔つくったHTMLのファイルをクリックしたら普通に表示されました
>>946 そりゃ問題ないだろ
ローカルサーバーがhtmlを送り出してくれるかどうかを確認するんだよ
>>946 ローカルサーバーでググって適当になんかインストールしろ
>>946 IIS Express入れやがれウンカス
とりあえずこれをいじったら表示できました c:\windows\sytem32\drivers\etc\hosts の ::1 localhost の行をコメントアウト #::1 localhost
IPv6を優先して使用する設定にでもなってんのか。
コメントアウトするよりも、 IPv4の定義を追加し直しておく方が正解っぽいな。
同じサーバーにおいてあるテキストデータをsilverlightを使って表示したいのですが コードビハインドで読み込みしないでXAMLだけで対応することは可能でしょうか?
無理 添付プロパティでそういう機能を外付けすることはできるがどっちみちコードは必須
>>956 ありがとうございます
なんでもかんでもっていうわけにも行かないですね
もう一つ質問なのですがこのアプリで表示するテキストファイルは
使う場所で可変なので外部から絶対パスをn個渡して再利用可能な
形にしたいのですが、外部から絶対パスを渡す方法はどうやればいいのでしょうか?
検索のヒントでもいいので教えていただけると助かります
以前slアプリの置き場所でジオを教えていただいた者ですが ジオってプレーンテキストの扱いってどうなってるんだろう・・・ ftpソフトを使ってアップロードしなおしたりしたけどslでテキストを読み込むと文字化けする・・・
Unicodeに変換してからバイナリとしてアップロード
>>961 それしかなさそうですね
EUC-JPに勝手に変換されてる・・・
そんなの人に聞かなくてもHEADコマンドとか叩けばわかるでしょ
最近ジオってTelnetやsshで接続できたっけ?
板違い
a
967 :
○ :2011/03/09(水) 10:31:26.57
てすと
あれくらい自分で作るほうが早いぞ
だな Canvasでいろいろやるだけだし
わかりました、あきらめます
ラベルの色を透明にできないの?
次スレ建てるのって、
>>980 辺りでいいんだろうか
>973 書き込みペースからして995くらいでも間に合うと思う
>>968 もう遅いかもしれないけどvisibloxはtoolkitよりも柔軟性があっていいよ
しかもtoolkitより速いし
でもバーチャートは使ったことがないのでバーチャートの値が消せるかどうかは知らない
Silverlightだったらサーバーでやればいいじゃん ASP.NETのMicrosoft Chart Controls使ってもいいしWebサービスも腐るほどあるし
やりたいことができる一番簡単な方法でやるのがいいだろうな
MVVMを一通り覚えて(大変だったが・・・)WPFも一通り学んで、 SLコーディングを始めると、あ、こりゃ、WinFormよりもはるかに作りやすいものなんだなと感心した。 やっとSLの峠を越えたかな?ぼくちん。
WinFormのほうが簡単だろ。 XAMLはデバックが難しい。
えーマジWinForm? きもーい WinFormが許されるのは小学生までだよね
そもそもWinFormsじゃSilverlightの代替になれないよね
Silverlight5でP/InvokeがサポートされたらSilverlightでWinForms作れるよ
どうせOoBいるんやからClickOnceで頒布しろよ…
.NET Frameworkは不要だろ OOB+Winオンリーでもメリットはある
アウトオブブラウザだと、Silverlightを使うメリットが わからんのだが、WPFアプリケーションではだめなの?
>>968 Silverlight Toolkitならソース公開されてるんだから、それを直して使うのが簡単なのでは。
win+IE限定の業務アプリとかあるし そういうのの置き換えを狙ってるんでしょ 配布が楽でUIはブラウザよりはマシ
ブラウザ上でインストールボタン押したら直接インストールできるってのは便利だよね。
ClickOnceと違って.NET不要でプラグインのインストールも20秒以内でXPでも7でも全く動作が変わらないからな Windowsだけにターゲットを絞るとしても、Windowsや.NETのバージョンの心配をしなくていいのは大きい
HTML5にも手を出してるけどcanvas糞だなw System.Drawing.Graphicsの機能にも全く及ばないレベル こんなんでFlashを置き換えるとか片腹痛いわ
期待してるやつがそもそもおかしい
slは悪くないんだけど、 肝心なキラーソフトがでてこない 悲劇の主人公みたい
>>992 リーチのHTML5、機能のSilverlilght,Flexとか思ってたけど、
今後3年くらいはHTML5ってリーチすらあやしくね?
合議制民主主義は結局まとまらねえし、歩みもおせえよ。 だkらW3Cはぜんぜんしごとがすすまねえ。 小さい失敗を何度も繰り返したほうが世の中便利になって行くものはやいんだけどな。
997 :
デフォルトの名無しさん :2011/03/24(木) 18:18:20.21
998 :
デフォルトの名無しさん :2011/03/24(木) 19:15:12.80
東電に責任を取らせる文言を埋め込んだアプリを作ろう
999 :
デフォルトの名無しさん :2011/03/24(木) 19:25:31.24
ブラックユーモアなアプリ作ろうぜ 節電すると東電君と官僚君がニヨニヨして 段々新しい原発が姿を見せるようなやつ
1000 :
デフォルトの名無しさん :2011/03/24(木) 19:26:03.49
1000なら東電倒産
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。