Microsoft Silverlight 2.0 その3at TECH
Microsoft Silverlight 2.0 その3 - 暇つぶし2ch577:デフォルトの名無しさん
09/03/28 23:27:30
>>575
・誰に言ってるのか分からない。
・あなたも理解していないようだ。MSPLはShared Source Iniativeの一環。
URLリンク(www.microsoft.com)

578:デフォルトの名無しさん
09/03/28 23:48:22
>>576
Trendだろ?Javaは、もう十分に広まったってことじゃね

579:デフォルトの名無しさん
09/03/28 23:53:01
>>574
最近、MSが各国でLINQ特許を取得済みなのを知った。
都合が悪くなったら、何時でもmono利用者を訴えることができるようになっているよ。

580:デフォルトの名無しさん
09/03/28 23:54:59
>>579
いやいや。
どうせLINQの特許がなかったとしても、訴えようと思えば別の特許がいくらでも出て来るだろうに。

581:デフォルトの名無しさん
09/03/28 23:55:58
>>578
Java の方も微増してるしね。
むしろ、C++ がいまだ減らないところにびっくり。

そういあ、銀行系での採用が多かったから、
リーマンショック以来Javaはやばいって話は小耳に挟んだけど。
まあ、あくまで噂話。
>>578 見た感じ、Java に限らず全体的に求人減ってるね。

582:デフォルトの名無しさん
09/03/29 13:27:10
Expression Blend 3 Previewって、試用期限とかあるの?
ないんならインストールしてみようかと思っているんだけど…。

583:デフォルトの名無しさん
09/03/29 14:52:55
試用期限はないかとおもわれる。英語が苦手だがそれらしい記述は見当たらない。
インストールして使ってみてるけどヘルプにもそれらしい記述が見当たらない。


584:582
09/03/29 14:57:57
>>583
ありがとう。インストールしてみる。

585:デフォルトの名無しさん
09/03/29 21:33:54
Silverlightのプログラミング妙にしんどい。

586:デフォルトの名無しさん
09/03/30 10:33:22
DataGridの特定の文字のセルだけ文字色を変える方法ってありますか?
現状LayoutUpdatedイベントで強引にセルにアクセスして変えてますが、
無駄が多い気がして・・・

587:デフォルトの名無しさん
09/03/30 13:15:31
>>586
LayoutUpdatedでの方法はわからんのでどれくらい差異があるかどうかわからんけど
とりあえずLodingRowイベントでの方法を。たぶんそんな変わらんのではと思うけど。
(※行数多くなったんで行数減らすためコーディングフォーマットちょっと変えてる)
private void dg_LoadingRow(object sender, System.Windows.Controls.DataGridRowEventArgs e){
// セルのデータ取得
string data = ((ds)(((FrameworkElement)(e.Row)).DataContext)).Test;
if (data == "l") {// 文字色を変えたいデータかチェック
FrameworkElement fe = this.dg.Columns[0].GetCellContent(e.Row);
FrameworkElement result = GetParent(fe, typeof(DataGridCell));
if (result != null){
DataGridCell cell = (DataGridCell)result;
cell.Foreground = new SolidColorBrush(Colors.Green); // セルの文字色を変える
}
}
}
private FrameworkElement GetParent(FrameworkElement child, Type targetType){
// ループして親(データグリッド)を取得
object parent = child.Parent;
if (parent != null){
if (parent.GetType() == targetType){
return (FrameworkElement)parent;
}else{
return GetParent((FrameworkElement)parent, targetType);
}
}
return null;
}

588:デフォルトの名無しさん
09/03/30 13:39:00
ごめ、
((ds)(((FrameworkElement)(e.Row)).DataContext)).Test;
というのは、dsクラスのList配列をItemSourceにセットしてるためで、
データベースの場合は
((DataRow)(((FrameworkElement)(e.Row)).DataContext))("Test");
となるんじゃないかな?ためしてないけど

589:デフォルトの名無しさん
09/03/30 16:58:23
>>587-588
できました!
表示データ(セル)から特定の文字か判断していたのですが、
なぜかバインド済みなのにセル上は空の場合がありました。(非同期だからかも?)
ItemsSourceのデータから判断するとうまくいきました。

また、条件に合わない文字列(セル)のときに文字色を黒に戻す処理も必要でした。
(スクロールした後に色が残ってしまうため)

ありがとうございました

590:デフォルトの名無しさん
09/03/31 16:14:33

っ IValueConverter

591:デフォルトの名無しさん
09/04/01 11:02:18
>>590
IValueConverter を継承してBindingに突っ込むまではわかるのですが、
そのBindingをどこに使えばよろしいでしょうか?

592:デフォルトの名無しさん
09/04/03 10:48:18
>>571
> 誰が開発するかが問題ではなくて、ソースがオープンなのが絶対的な足かせ。
> オープンな形でやる限り、本当に誰がやっても同じになるような
> 教科書レベルのものにしかならず、実際上はちっとも役に立たない。

超絶技術がオープンならば、なんの問題もないのではなかろうかw

593:デフォルトの名無しさん
09/04/03 15:42:44
>>592
超絶技術をオープンにすると、Contributorが存在せず、みんなFreeriderとなって
技術を盗むばかりの状況に陥るだけ。これが正当化されるとなるとIT産業は滅ぶ。

誰でも出来るものを、みんなで仲良くやる。これがオープンソース。

一部のエリートが価値あるものを放出し、その他の人が一方的に盗む・・なんて形になったら
オープンソースは終わり。そんな非対称な価値供与(=窃盗と同じ)なんて続けられる訳がない。
これは主体がどれだけリッチな大企業であっても無理。
実際、こうした形態のOSSのプロジェクトは存在しないし、また、このような窃盗まがいのやりとりを
助長するような行為は不当廉売などとして法律で制限される訳だ。それ自体が反社会的だから。

OSSで扱えるものは、みんなが参加できる(=価値のバランスが取れる)教科書レベルのものまで。
だから、OSSの枠組みでは決してマーケットを主導するような技術革新は達成できない。これがOSSの限界よ。

例えば、Googleを見てみ。OSSを支援するスタンスを採っているけど、
Googleのコアの検索技術はプロプラで、絶対にオープンにはしない。
何故かといったら、そんなことをしてはならず、また実際やったところで
単に自らが滅びるだけだってことを、Googleは良~く心得ているからだよ。

594:デフォルトの名無しさん
09/04/03 15:54:43
>超絶技術
>技術を盗むばかりの状況
心配しなくてもM$は技術を盗む側。

595:デフォルトの名無しさん
09/04/03 18:15:27
スレタイも読めんのか馬鹿野郎

596:デフォルトの名無しさん
09/04/03 21:42:34
Silverlight開発がOSS的なノリになると、やれソース見せろだの、参加させろだの、
はたまた質問するのは無料だなんて勘違いしてデバッグだのコード記述だのを
丸投げしようとする輩が増えるからトンでもないってスレのPart3でしょう?

silverlight.netのフォーラムとか見ても本当にひどいもんね。
自分のコードのデバッグをMS社員に頼む盛り場と化している有様、甚く哀れなり。

597:デフォルトの名無しさん
09/04/03 21:54:00
MSDNがひどいのはSLだけじゃないよ。総じて勘違い新人の回答集と化してる。
そしてイヤなら無視すりゃいいのにブチブチとマナーとか説きながらMVPがポイント稼ぎしてる。

598:デフォルトの名無しさん
09/04/03 22:04:11
でも某BSDみたく、初心者お断りみたいな雰囲気だと、
それはそれで人が集まらないんだよねぇ。

599:デフォルトの名無しさん
09/04/03 22:05:03
>>594
何だかんだでMSの技術力は一流なのだけど。

600:デフォルトの名無しさん
09/04/03 22:13:19
>>593
そこで、難読化OSSですよ。
ソースを読むのも超絶。
頭脳だけで生きているような少数派しか参加できない。

601:デフォルトの名無しさん
09/04/04 18:52:18

っ CellTemplate

602:デフォルトの名無しさん
09/04/04 19:02:48
あれ?ここはSLのスレじゃなくなったのか

603:デフォルトの名無しさん
09/04/05 11:04:53
3.0でWriteableBitmapへの書き込みにインデクサを使うのが微妙すぎる
なんでWritePixels削った

604:デフォルトの名無しさん
09/04/05 18:08:46
SL3いろいろ試したいんですが、SL2と共存させるいい方法ないですかね?
VMWare上にVSもVS SP1もSL3もインスコとかすごい面倒な気がするんですが。
SL2とSL3の開発環境切り替えが簡単にできるなら、そのまま試すんだけどなあ。

605:デフォルトの名無しさん
09/04/05 18:23:55
つ PCもう一台

SUSE LinuxかMac OSX でMono Developとか

606:デフォルトの名無しさん
09/04/05 18:35:14
>>605
SL3てMonoでもう動く?動かないよね?w

607:デフォルトの名無しさん
09/04/05 18:49:19
>>600
それはすごい嫌がらせだな。でも大体、高度なソフトウェアって純粋なプログラミングの範疇には
収まらないような技術や知識(例えば、数学や物理やその他工学など)が重要な位置を
占めているものだから、普通にプログラム書くしか脳がない連中にとっては基本的に難読なものだけどね。

ただ、こうしたコアな他の知識までOSSを通じて無料で手に入れようなんてのは虫が良すぎる訳で、
高度なものは総じてクローズドであってしかるべき。結局、そういうの学びたければ授業料を払い、
少なからぬ月日を費やして、その手の専門的な教育をしかっり受ければ良いだけの話になるが故。

608:デフォルトの名無しさん
09/04/05 18:58:53
>>607
板違いやめてくんねえかな

609:デフォルトの名無しさん
09/04/05 19:13:05
>>607はアホな子か勉強不足の学生だから無視してればいいんだが、
とりあえず、偉そうに言う前に少しはOSSのソースでも見て、それから他所で話してくれ。
大学教育受けたくらいじゃ書けないような高レベルのコードがたくさん公開されてるだろが?

610:デフォルトの名無しさん
09/04/05 19:13:40
MIDIやらWAVやらBMPやらGIFやらAVIやらもあつかえるようにしてくれぇ。頼む!!!
(まあMIDIは無理か、それとAVIもコーデックの関係上実装できるとすれば無圧縮だけとおもわれるがそれでもかまわん。)

611:デフォルトの名無しさん
09/04/05 20:20:01
でもOSSで閲覧できるFFT関連のソースなんて他人が見てもハァ?だぜw
読みやすく再利用が容易なように書かれたソースなんて門外不出。
ニューラルネット技術よりも遙かに音声・画像その他のパターン認識に
応用できるからな。

612:デフォルトの名無しさん
09/04/05 20:46:22
>>611
板違い続けるようなやつに限って、不勉強なんだよな。
いまどきFFTを自分で書くような暇なプログラマってどこにいるんだ?
お前にとって再利用ってのは、ソースコードの再利用なのか?何でライブラリごと再利用しないんだ?
特徴量抽出に使うFFTと、その後で使うニューラルネットとを比較してる時点で、
工学系のまともな知識もないようだしな。

613:611
09/04/05 20:59:45
>>612
電気通信系やネットワークはハッキリ分野外です。
例えば、指紋や眼底血管の画像ファイルを投入すれば、オリジナル標本との
類似度スコアがすぐに得られるような工学技術の成果物をOSSで簡単に
タダ乗りできる状態を提供しているところなんてあるのかなーってw

614:デフォルトの名無しさん
09/04/05 22:59:00
>>609 
だから、大学教育受けたくらいじゃ書けないような高レベルのコードを無償で公開しちゃってるアホがいるってのは、
要はそうした人々が「投資としての学業」の成果物を無料で捨てることが道理を得ていないことを
理解するだけの脳ミソを残念ながら持ってないってことであって、それがそもそもの間違いなの。

まあ、こう言ってもどうせわからねぇんだろうなぁ。OSSを通じて知的財産、ひいては貨幣経済なんて
基本的なことから教育してやらなきゃならないってのは不幸な話だよ。まったく。
てか、これは元々Silverlightが進むべき道の話から来てるところだから、そんなに外れてはいないんだけどね。
ごめんね、プログラム技術だけじゃ理解できない高度な話題を展開しちゃってv

615:デフォルトの名無しさん
09/04/05 23:06:09
>>610
MIDI,WAV,BMPの書き出しぐらいだったら、まあ簡単に自分で作れるんじゃん?
Win32時代のコード再利用とかで。圧縮使うとちょっと面倒だけど。
しかし、SilverlightはなんでZLIBの圧縮・展開のAPIを備えないんだろうか。
内部じゃ標準的に使っているんでしょうに。

616:デフォルトの名無しさん
09/04/06 00:29:03
>>614
そこでMicrosoftは、経済や一般の常識を嫌って知ろうとも解ろうともしない共産指向の
学者的なLinux技術者達に .NETやSilverlightを通してプロと大人の道を教えています。

617:デフォルトの名無しさん
09/04/06 00:53:11
もう、終わりにしようと思ってたけど、この流れだと誤解する人もいそうだから、
レスついでにちょっと補足。>>607=>>614で、>>611はまた別の方ね。
2ch上では珍しくこのあたりに関して合意できそうなお方であるようだ。

>>612 FFT自体は教科書に載ってるような基本的なところだけど、
例えば世界最速のFFTとかになると違ってくる訳よ。
こうしたものを実現するのに必要なのは主として系の対称性等についての考慮で、
これはプログラミングではなく純粋に数学の問題である。

また、こうした技術によって生むことが出来る経済的な価値ってのは
>>613が言うように小さくはないので、どんな形でも無料で提供されてはならない。
そういう行為は産業を潰し、さらなる雇用不安などの社会問題を引き起こすからね。

ITが価値あるものだと思うなら知的財産を尊重すること。重要なのはこれ。

>>616
Microsoftはリーダーなんだから、このあたりの啓蒙活動も力入れて欲しいよ。
MSがTermsOfUseなどで著作権等について解説してるのは、ちょっと立派である。

で、終了。次シリーズは「ポストWeb2.0時代におけるSilverlightの光と影」乞うご期待!

618:デフォルトの名無しさん
09/04/06 02:33:05
FFT=Final Fantasy Tacticsであってる?

619:デフォルトの名無しさん
09/04/06 02:36:54
>>617=>>614=>>611
お前そもそもろくにOSSの世界をわかってないし、自分の言ってることがさっきと矛盾してることにも気づいてないだろ?
アホだの脳ミソがないだの言わなきゃならん時点で、かわいそうな子だってことは誰にもわかるけどな。
とりあえず世界最速のFFTと一緒に、マジで消えてくれ。

620:デフォルトの名無しさん
09/04/06 02:46:31
>>618
世界最速らしいから、たぶん違うと思う

621:デフォルトの名無しさん
09/04/06 02:47:39
>>617
ですよね。
工学・工業技術の知的成果の尊重というソリューションの一つが、日本だとルネサスのような
半導体企業がLSIチップにFFTを封じ込めてしまって、一部を電気信号上で処理させる方法。
これなら、LSIの一つ一つを特許実施済み製品相当のように安全に流通できます。

あとは非x86なプロセッサと特別なツールのキーアルゴリズムを通さないと、使えるバイナリが
生成されない仕組みとかね。輸出規制レベル相当のソフトウェアならこれくらい対策するでしょ。

622:デフォルトの名無しさん
09/04/06 03:16:59
>>620
いや、スピードランかもしれないじゃないか。
FFT世界最速クリア記録。

623:デフォルトの名無しさん
09/04/06 10:44:45
>>615
ごめん、逆なんだな。
実行時に、画像生成して表示したりとか音作成して鳴らすとかということをしたいんだよ。
たとえば画像においてはBitmapImageをストリームからインスタンス生成するとき、jpgかpngにしか対応してない。
だもんだから、jpgフォーマットやらpngフォーマットにしたがってメモリーストリームに書き込まんとインスタンスが生成できん。
bmpフォーマットだったら、ファイルヘッダー、インフォヘッダー、イメージデータを書くだけですむ。
(Silverlight 3でようやくWritableBitmapがでたようだがしかし結局のところ対応フォーマットは変わらずじまい?)
動画もそう。asfやらwmvフォーマットにしたがって(圧縮して)メモリーストリームに突っ込まんとインスタンス生成ができん。
音声も、エコーやらディレイやらリバーブやらをかけて鳴らしたいんだがそれができない。
エコーやディレイ等のエフェクト処理は自作するにして、バッファに書き込んだ音声データを鳴らせるようなってほしいんだよ。
この辺ほとんどFlashだとできるんだけどなぁ。

624:デフォルトの名無しさん
09/04/06 10:57:33
WriteableBitmapはピクセル触れる
動的に音や動画を再生するのも可能らしい
URLリンク(community.irritatedvowel.com)

625:デフォルトの名無しさん
09/04/06 13:04:47
>>623
BMPはSL3なら、32bitRGBとかのデータ部分をほぼそのまま突っ込めば
WriteableBitmapで作るのが可能だよ。表示でもブラシでもOKだ。
>>603がぼやいているように、WritePixelsなんて高尚なものはないので
インデックスで直接アクセス&アクセス。昔懐かしBMPの作成手順。

>>624 WAVが扱えるとは知らなかった。まあでも読めて当然だけどね。
どうせ内部じゃ展開して同じものになってるんでしょうから。
でも、こうなってくると、、、世界最速のFFTが欲しくなるね。冗談抜きに。w

626:デフォルトの名無しさん
09/04/06 19:13:45
>>625
音声にエフェクトかけたりしたいってことかな?
というわけで、最初に思いつく「C# FFT」でぐぐって一番上にきたもの。
URLリンク(www.vector.co.jp)
ソースごとコンパイルして良いみたいに書かれてた。
FFTなんて、ソースコード自体を再利用できる典型的な例だよな。

念のため、画像とかの2次元データに適用するなら。
URLリンク(ja.wikipedia.org)
つまり、2次元DFT(2次元フーリエ変換も同様だが)はf(x,y)を、各行ごとに1次元DFTし、その結果をさらに各列ごとに1次元DFTする事と等価である。
ここで、1次元DFTの計算はFFTのアルゴリズムで高速に計算できる。そのため実用上は2次元DFTも、2次元FFTとして計算される。

627:623
09/04/06 19:32:25
>>624
おおこれは参考になる。
>>625
そうなんだ。教えてくれてありがとう。なんかVB6時代を思い出すな。
どっちにしてもSilverlight3待ちか。
別スレでSilverlight2でファミコンエミュを実装している人がいるが、あれはどうやってるんだろう。

628:デフォルトの名無しさん
09/04/06 19:48:16
>>627
URLリンク(matarillo.com)
俺はここで書かれてるものを、PngEncoderをprivateな内部クラスにしておいて、
.NET2.0のBitmapと同じようなメソッドだけ公開して使ってる。
たぶんこれの元ネタは、
URLリンク(www.codeplex.com)

629:623
09/04/06 20:05:16
>>628
ああ、なるほどね。PngEncoderつかってるんか。

630:デフォルトの名無しさん
09/04/06 20:11:34
>>626
すごいな。
こういうのをチョチョイノチョイで使いこなせる工学系の人が羨ましく感じるよ♪
俺には時系列変化するデータからアナログ的なフィルターっぽく、何某かの特徴成分を
抽出できるという事までは何となく理解できるけど、実物を使いこなせない。
応用先も、トレンド解析とか、音声や画像のノイズフィルタとかが思いつく程度。。。

631:デフォルトの名無しさん
09/04/06 21:02:24
>>626
教科書レベルのFFTは当然ソースコードが利用できるでしょう。
が、残念ながらそれは世界最速!ではないね。おそらく。

2次元DFTはいわゆるJPEG圧縮のコア部分だね。細部を問題にしなければ、
その応用でJPEG圧縮が簡単に実現できる。偶関数拡張してDCT。

>>628-629
PNGはgz圧縮が使えれば、すぐに出来るようなものだがZLIBとかは他から持ってこないと無い。


でも、SL3になれば結局、WriteableBitmapが登場して独自の画像エンコーダなんかで
頑張っている人たちの努力は、ほとんど無駄になるってことで、
こういう展開は結構理不尽だなぁと思うけどね。先端だったものが標準になる悲しさ。

3D対応のFlash10のベータが登場し、PV3D関係者を大量に凹ましたの同じような光景だ。

632:デフォルトの名無しさん
09/04/06 21:40:09
ただ使うだけの人間には、そんな先端より標準入りしてくれる方がありがたいな。
ええ、どうせフリーライダーですとも。

633:デフォルトの名無しさん
09/04/06 22:03:48
.NET開発ってさ、とにかく下のレベルでごりごりコード書かないようにすることが大事だと思うんだよね。
そんなんやってもすぐにMS側でバージョンアップされたり、いいライブラリが安く販売されるようになったり。

634:デフォルトの名無しさん
09/04/06 22:09:27
効率悪いのはわかるけど、勉強にはもってこいかな~と

635:デフォルトの名無しさん
09/04/06 22:48:23
>>633
まあ、そういうことなんでしょうね。でも、そうなると奇抜なアイディアによってではなく
ほとんど事業の規模だけで優劣が決まってしまうような感じで、
一発逆転的な”面白み”みたいなものは相当に少なくなるねえ。

636:デフォルトの名無しさん
09/04/06 22:56:54
趣味でやるならそれでいいから、そんな話はチラシの裏にでも書いてろ

637:デフォルトの名無しさん
09/04/07 07:08:56
別にそんな突っかからんでも・・・。
君は君なりに、今後もごりごりと両方の意味で低レベルなコードを
書いてればいいと思います。

638:デフォルトの名無しさん
09/04/07 08:56:06
今までごりごりとやってた部分にかける労力をその上の部分の機能向上とか生産性のアップに向けるためのもんだろ.NETは。
そういいながらGUIからパーシステンスまで自前ライブラリを作っちまったが。これより下のレイヤーでごりごりはあまりしたくないなぁ。

639:デフォルトの名無しさん
09/04/07 13:14:43
URLリンク(blogs.msdn.com)

640:デフォルトの名無しさん
09/04/07 13:19:06
とっととSL3に乗り換えるのが正しいような気がしてきた。情報ないのはSL2と似たようなもんだし。

641:デフォルトの名無しさん
09/04/07 20:08:57
URLリンク(programmerpayback.com)
URLリンク(nk9klifelog.spaces.live.com)

OnApplyTemplateのオーバーライドがマトモに動作せずに、ChildなUserControlへの参照が取得できない例ってある?

642:デフォルトの名無しさん
09/04/08 18:26:56
>>641
呼ばれる順番を自分で十分にテストしてないので、今ちょっとはっきりは分からないけど
OnApplyTemplateがInitializeComponentの段階で呼ばれるんだとすると取れないんじゃない?
だからUserControlはTemplateと相容れないものなんだと解したんだけど。どうなんでしょう?

643:デフォルトの名無しさん
09/04/08 19:36:50
>>642
レスあり。いや、実は俺自身はまだ困ったことないんだけど、
それに近い話を聞いたことがあったので、何か他のことが原因なんじゃないかと思って。
ところで、UserControlはTemplateと相容れないってどういうことなんでしょうか?

URLリンク(pagebrooks.com)
URLリンク(bbs.wankuma.com)
URLリンク(d.hatena.ne.jp)
ここらへんひとまとまりでよくわかるサンプルとか欲しいというか、とっとと確認しなきゃいかんなあ。
「XAMLによって」デザイナとコーダが完全に分業できるようになるっていう理由もよくわからんし。
WinForm2は、記述量こそ多いものの、もっと簡単にいろいろやってたじゃないかと言いたくなるw
うだうだ言う前にとっとと確認しますすいません。

644:デフォルトの名無しさん
09/04/08 19:50:05
WinFormsではコントロールの見た目を自由にいじろうと思ったら
いちいちコントロールを継承しないといけないだろ

UserControlは基本的にテンプレートを使って見た目を差し替えることができない
再利用を考えずにXAMLべったりでてっとり早くコントロール作るためのもの
クラスライブラリ作ったりするなら使っちゃダメ

645:デフォルトの名無しさん
09/04/08 19:57:37
643だけど、他のことが原因というか、伝え聞いた話でほんとかどうかもよくわからんというのが真実だな。
あとどうでもいいけど、WinForm2のドキュメントエクスプローラみたいにというか、
XAMLをYAMLみたいにw書けたら、もう少し見やすいのにとか思ったりする。

646:デフォルトの名無しさん
09/04/08 20:00:30
>>644
おお、すばやいレスあり。後からUserControlにテンプレート適用とかできないの?

647:デフォルトの名無しさん
09/04/08 21:14:36
おっと名無しさんで混乱してきたぞ。>>642だけど。
>>643 UserControlに関する詳細なドキュメントってどこにも存在しないから、
おそらく誰も完全には分からない。少なくとも使う側では。
特にSilverlightに関しては実験例もない。ここはひとつ人柱になってもらうしか。

>>642は自分で前にUserControlにテンプレートは適用できないんだろうか
思って試してみたことがあって、結局出来なかったという経験にもとづくレスでしかないので
正しいかどうかは不明。でも、UserControlはインスタンスが生成されるがかなり遅く、
メインのLoaded以降あたりで、その前に適用されるTemplateでアクセスすることは出来ず
適用できないとかそんな感じだろうというのが自分の達した結論。
>>646 後からTemplateも考えたけど、結局その道は無かった気がする。
TemplateはおそらくVisualツリーの生成段階でしか適用できないんだろうよ。
単なる枝の差し替えだったら後から出来ても良さそうなんだけどね。
ただ、これは全てSL2での実験だから、SL3で違うことになってたら申し訳ない。

648:デフォルトの名無しさん
09/04/08 21:15:39
デザインとロジックを分けるのは、冗長になるのは確か。パフォーマンスも低下する。
でも、ロジックのコードに一切触れることなく、XAMLだけで色や概観のみならず
VisutalStateまで含めた全デザインの変更を可能にしてしまいましょうってのが
分離で、そうするためには欠かせないTemplate。でも、こうしておけば、
コードのコの字も解らないデザイナとも一緒に仕事が出来るという点において素晴らしい。

UserControlでも何でもできるけど、完全再利用&カスタマイズ可能な
コントロールとするためにはControlでやるしかないんだとおも。

649:デフォルトの名無しさん
09/04/08 21:53:33
UserControlがテンプレートに対応してないのは制限じゃなくて使い分け

650:643
09/04/08 22:05:20
>>647
コードで確認もせず質問したのに、大変参考になる情報ありでした。
UserControlはPanelをクラス化して再利用に使うみたいなもので、
入れ物にすぎないUserControl自体にはデザイン適用できないけど、
その子要素のControlにはデザイン適用できるだろうとか安直に考えてた。
なんで、OnApplyTemplateメソッドが気になったりしたわけだけど、それも的外れかな。
とりあえずまず書いて確認してみる。

651:デフォルトの名無しさん
09/04/08 22:18:53
>その子要素のControlにはデザイン適用できるだろうとか
そのコントロールがテンプレートに対応してるなら親がUserControlだろうとできるに決まってるだろ
PageだってUserControlなんだしできないわけがない

652:デフォルトの名無しさん
09/04/08 22:44:09
>>649
それは、絶対的に出来ないのではないってこと?どっち?
UserControlベースでもTemplate使う道があるんであれば、
それはそれで意外と役に立つ訳で、そこが重要だよ。

>>650
ヘルプすら見られない状況において過去の記憶のみを頼りに書いてるもので、
まったくの嘘かも知れないから確認して下さい。
てか、何かこういうことだってのを発見したら教えて下さい。

653:デフォルトの名無しさん
09/04/08 23:09:35
>>651
良く分かってないですね。UserControlの中にControlを置いたものに
テンプレートが適用できるってのは良いよ。それは普通の使い方だ。

Controlの中にUserControlを置いたときに、
それがいつ初期化されるかってところで、UserControlを含む
ControlにTemplateが適用できないんじゃないかというのがこの問題。

まあ、素直に中身は全てControlでやれば済むのかもしれないけど、
UserControlの簡易さってのは捨てがたく、絶対的に相容れないものなのか否か。

654:643
09/04/08 23:27:51
>>652
同感です。慎重なご意見に感謝します。

>>653
俺としてはControlにUserControlを持たせるようなことはしたくないが、
実際にそういう使い道ってあるの?
自分からした質問なのに、話をずらすようで申し訳ないけど。

655:デフォルトの名無しさん
09/04/08 23:49:51
>>654
完全なデザインとの分離にはならないけど中間的な分離によって、
パフォーマンスを最大化する場合なんては生じるね。
Controlにしてすべて外部に持たせるととにかく冗長になるけど、
UserControlであれば、かなりすっきり書ける。
でもカスタマイズ性は確保したいといったところ。
もちろん、こんなの一般にはおすすめ出来ないが。

656:デフォルトの名無しさん
09/04/09 01:40:38
Threadを起こして、その中からUserControl派生のクラスのインスタンスをnewしようとしたら
UnauthorizedAccessExceptionがInitializeComponentで発生してしまうんだけど、
そういうもの??

657:デフォルトの名無しさん
09/04/09 01:57:12
>>607
> 高度なものは総じてクローズドであってしかるべき。

実に気持ち悪いご意見だw

658:デフォルトの名無しさん
09/04/09 08:26:52
>>657
まぁ無能な乞食には絶対受け入れられない価値観ではあるよね。

659:デフォルトの名無しさん
09/04/09 10:34:51
>>653
>>655
一般にはおすすめできないって、自分でもやったことなさそうじゃないか。中間的な分離って何だ?
具体例も必然性もないようだから、そういうことはすべきじゃないと思う。

660:デフォルトの名無しさん
09/04/09 10:43:55
>>656
.NETでは、UIを生成したスレッドではない別のスレッドからそのUIへアクセスするには、
いろんな手順とか決まりごとがあるんだが、それに反してない?
URLリンク(social.msdn.microsoft.com)

661:656
09/04/10 13:20:25
new してるだけなんですけどねー。
それが駄目なのかもしれませんね。
決まりごと調べてみます。

662:デフォルトの名無しさん
09/04/11 13:40:58
逃げられすぎ。もうだめかもわからんね。

663:デフォルトの名無しさん
09/04/11 15:48:21
silverlightでは別スレッドでコントロールを表示する方法が無いので
newした段階で例外が送出されるみたいだな

UIスレッドのコントロールの子にした段階で例外が出るより、デバッグがやりやすくていいね

664:デフォルトの名無しさん
09/04/12 20:15:33
>>662
?

665:デフォルトの名無しさん
09/04/12 21:25:50
>>664
Flash厨の発症です

666:デフォルトの名無しさん
09/04/14 13:00:20
>>645
×:ドキュメントエクスプローラ → ○:ドキュメントアウトライン

667:デフォルトの名無しさん
09/04/14 14:17:11
URLリンク(www.infoq.com)
>CBS College Sportsを通じ、SilverlightはNBA、NCAAのイベントを
>放送し、BlockbusterのMovieLinkおよびNetflix’ Instant Watchの
>ストリーミングを提供する。

コスト抑える、とか一言で言われてしまいそうなのだけど
そこまで高度ではあるけど可用性に難がある環境…これは
受け入れられるんだろうか…

668:デフォルトの名無しさん
09/04/16 22:11:37
マイクロソフト、研究部門Live Labsをリストラ―研究者を半数に削減
現在の経済情勢が一因
URLリンク(www.computerworld.jp)

マイクロソフト、フライトシミュレーターゲーム開発部門を閉鎖
URLリンク(www.technobahn.com)

IEの市場シェアが過去最低を記録―3月末時点で66.8%
ライバルのFirefoxは22%で過去最高に
URLリンク(www.computerworld.jp)



669:デフォルトの名無しさん
09/04/16 22:19:50
また性懲りもなく現われたよコイツ。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch