WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part12
1 :
デフォルトの名無しさん :
2011/12/20(火) 16:40:25.28
お
つ
ぱ
い
が
い
つ
ぱ
い
お
ま
ん
こ
ぺ
Expression Studio入手してみたけど、VisualStudioではエラーも警告も出ず 普通にビルドして実行できる手打ちのXAMLが、なんか山ほどエラー出されて開けないしw 単独で新規プロジェクトとか作っていじってみたけど、操作が訳わからんな 慣れれば使うと楽なのかも知れないけど、慣れるまで時間かかりそうだ
別のツール使わないとまともに使えない時点で WPFに見切りつけた方がいいのかもな
19 :
デフォルトの名無しさん :2011/12/22(木) 12:07:16.99
クリックしたらSilverlightの記事でワロタ
そーいや Blendは手探りでやってたから解説ページなんてみてなかったな
>>20 似たようなもんだろ。ま、確かに微妙に違うとこもあるがw
WinRTではXamlが使われるそうだけど、WPFやっておけば役に立つ?
勿論役に立つ、が WinRTのXAMLって、WPFのXAMLよりもSilverlightのXAMLに近いんじゃなかったっけ
WPのxamlに似てるのかも…
WPって何?
いい本ないっすか? 探したんだけどみんな2007年くらいの古い本みたいで。
>>26 Windows Phoneじゃないの
>>27 本少ないよなー
まぁWebの解説だけで十分やっていけるよ
>>28 見かけ上やっていけてるかもしれないけど
基礎すらあやしい
メジャーやレイアウトの仕組みも知らない奴が大半
Panel系とItemsControl系のコントロール、Binding、UIスレッドの概念あたりを 理解してコーディングしてれば何とかなるんじゃね?
1)エッセンシャル読む 2)C#をマスターする 3)MSのサンプルを参考にする あとは必要に応じてな感じやろ
エッセンシャルとMSDNの各項目を穴の開くほど見比べないといつか痛い目に合う
DataGridのカレントセルの枠線の スタイル(非表示に)変更する方法 ありますでしょうか、教えてください。
DataGrid.CellStyleに適当なTriggerを設定したStyleを入れればいいのかな?
エッセンシャルってエッセンシャルWPF? すげえ高いんだけどWPFの将来性を加味した上で買う価値ある?
WPFというかXAMLの基本的なことを抑えるのには、古い本だけど今でもベストだと思うね。 XAML自体はこれからもまだまだなくならないわけなので、早い段階で読んだほうが捗るのは確か。
WPF作ったひとの本だしねぇ。そこらの技術者が書いた本よりよっぽど役に立つと思うよ。 「こういう意図でこういう作りになってるんだ」的理解な面で。 というか新しい本買っても「新機能はこんな感じやで」ってレベルで全然掘り下げてないから 役に立たんよほんと、洋書の分厚いやつとか。高いだけ。
とりあえずamazonの中古で頼んだ。さんくす。
エッセンシャルは嫌い 読み物としてはいいのかもしれないけど意外と役に立たない
<l:jQuery Selector="hoge:odd"> <Setter Property="Background" Value="Cyan" /> <l:jQuery> <List ItemsSource={Binding}> <List.ItemTemplate> <DataTemplate DataType="{x:Type Page}"> <TextBlock l:jQuery.ClassName="hoge" Text="{Binding}" /> </DataTemplate> </List.ItemTemplate> </List>
ごめん、ミスった。 WPFもjQueryみたいにかけると良いと思わないって書き込もうとして・・・ 良くあるリストの奇数行だけ背景色変えるみたいなのを↑みたいに書けると良くない?
$じゃないのか?
Livetで、単にサブウィンドウ開いたり、新しいウィンドウに遷移するのは TransitionInteractionMessageAction使って簡単にできるんだけど、 新しいウィンドウを開かずに、 今あるウィンドウの中の一部分だけ(例えば1つのGridの中身だけとか) 内容を全く新しいものに切り替えるってできる? コードビハインドで書いちゃっていいなら Grid1.Children.Clear(); Grid1.Children.Add(new UserControl1()); みたいな感じで、一応できるみたいだけど…
なんとかState VisualState? なんか違うな なんかそんな感じの奴
StyleTargetが柔軟にならんかなとは思う jQueryはどうでもいい
知らないということは その人の世界には存在しないということ
>>48 単純に考えて、VM の V に対する依存度が低くなるので、疎結合が促進される。
コードビハインドを全否定するわけじゃないけど、
V のコードビハインドは V のことだけやるように実装した方が、後々何かとメンテしやすいのは事実。
>>43 俺は似たようなこと、コントロールの Visibility プロパティをバインドして対処してる。
よくこんな意味不明なUI作ったなと思う
右側の3Dリストボックスですよ
ありがとうございます ちょっと勉強してみます
>>51 動作見てるとInfragistics社のコンポーネントに似てるね。
>>48 そう思うならMVPの方が合ってる
コードビハインド書くんだったらコマンドなんか使わないでインターフェイスベースでやったほうがいい
特注のビヘイビアがj増えていくだけであんまりなあ コードの再利用率は経験的に3割未満(某CodeComplete談)
WPF ToolkitのChartについてチュートリアルみたいなサイトないですかね? とりあえず表示するだけなら、X軸・Y軸の値をペアで用意して何とかなるけど それ以上の設定を色々やろうとすると、どういじっていいものか情報見つからず
WinForms用のやつ使ったほうがいいよ WPFからでも使えるから
4コアのノートで、C#のTaskで上限4で並列化すると重くなる、酷いと数秒止まる それ以下にすると段々早くはなるんだがそれだと並列化した意味が・・・ ほかのタスクのWPFは何も影響ない スレッドの優先順位周辺をいじっても変化なし こういう物なのかな?
何を並列化してるのか
>>62 4コアといいつつcorei5じゃないだろうな?
GCがボトルネックになるような処理をやってるんじゃねーの? WPF自体のCG負荷が大きいので、 裏でさらにGC負荷をかける処理をやってると酷いことになる。 とりあえずソースを出せ。 それだけの情報じゃ何とも言えん。
普通にファイル処理じゃないの? 試した事無いけど並列化したら逆に遅くなりそうだよな
うわぁi3だった恥ずかしいw 並列化してる部分は色々あって、一番簡単なのは ネットに転がってるSevenZipSharp.dllを使った var compressor = new SevenZip.SevenZipCompressor(); compressor.ArchiveFormat = SevenZip.OutArchiveFormat.XZ; compressor.CompressionMethod = SevenZip.CompressionMethod.Lzma2; compressor.CompressionLevel = SevenZip.CompressionLevel.Low; compressor.CompressStream(inStream, outStream); なコードでCPUフルに使いまくってるときに再描画速度が若干落ちる SevenZipのLzmaにしてシングルスレッドになると問題なくなる IOはネックになるほど読んでない unlock待ちも考えたけど、使ってないところでも遅くなたからこれも無し i3のグラボの問題の気もして来た
ゲームでもつくっとるんかいな プライオリティ落とせば そもそもタスク分割するのはディスパッチャにおまかせすべきなんじゃないの
このスレのレスみたいな酷い説明だな Prismのドキュメントのほうがよっぽど解りやすい
>>74 たしかに川俣さんと同じにおいをugayaさんから感じるな。
二人の記事読んでいると、理解に時間がかかるから
「自分はなんて頭が悪いんだ」と劣等感にさいなまれるw
川俣氏もだけど技術文書に主観書きすぎなんだよ エッセイでも書いてたほうが合ってる
ufcppはわけのわからない前置きが長い 最初は分からないから全部強引に読むけど 理解した後読み返すと最初のほうは必要のない説明だった感じる
俺、C#とか@ITの川俣さんの記事で0から勉強したけど、個人的にはわかりやすくて良かったけどな 今でも何か調べる時ググるとここの記事出てきて参考になったりするし 俺の感覚的には、他のネットの入門記事とかで、これより読みやすいの見当たらない気がするんだけど
>>78 川俣の記事は余計な言い回しや主観文章が多くて、書いている内容はわかるけどc#を理解した俺でも読むのがしんどい。
入門と書かないほうがよいと思うけどな、
この記事を読んでc#を嫌う人が増えることが危険だ。
各技術者達は、c#は便利だ面白いなと思ってくれる仲間を増やす事を考えて記事を書いて欲しいな。
C#って初級から中級に上がるときに壁があるんだよ 初心者向けの記事ばかり充実して上級への足掛かりがほとんどない MVVMとか言われても分かりませんね プログラミング業界が初心者相手の方が儲かるようになってるから仕方ないのかもしれないけど
>>80 レベルアップしたいならJavaの本をいっぱい読んだ方がいいよ
業務で使えるテクニックが結構書いてある事が多い
Javaの本は読者の対象が業務向けでいい
初級 自分の書きたいコードが書ける 中級 他人が書きたいコードが書ける 上級 誰も書きたくないコードが書ける
最上級 誰もメンテできないコードが書ける(ツール要らずの難読化に成功!)
極上級 口を動かすだけであらゆるコードが書ける
ウィザード級はどうですか?
wpfの二ちゃんブラウザが待ち遠しい 最新の技術RxLinqEntityF等を使ったもの
IOCCCみたいに、IOC#CCとか開催されないかなw
コードが汚いとは言い切れないが、 LINQのクエリ式で書かれたレイトレーサはインパクトがあった
Rx使ったWPF2ちゃんブラウザって何か素敵。 そういえば、janeって15年前のテクノロジーだよね。ださ〜い。
最低限の情報をRichTextBoxでバインディングで表示させてみたことがある 1000レス分表示させると表示そのものは重めかな程度で何とかなるが ウィンドウのリサイズで死ねた
>>89 2000年ごろだろ
15年前ってdelphi 1.0で16bitアプリだぞ
15年前のテクノロジーによる実装を代替できていないのがWPFを取り巻く現状…
そんなもんWPF関係ないだろ スレッドを高速に綺麗に表示するだけだったらWPFでも他のでもすぐできるわ 2chブラウザの差別化はそれ以外の機能
>>102 2000年はさすがにVC6.0、Delphiのバージョンは5だろ
>>100 15年前は’97年
VC4.2、Delphi3か4の頃か
複数レスをテキスト選択、ってのがなければむずかしくないけどねぇ でもそれがないとおまえら2ちゃんブラウザとは認めないだろ?
>>96 itemコンテナで作るからダメ
基本リッチテキストかHTMLだろ
フロードキュメントでやった 表示されないけどコピペすると出てくる空白が実現できなかった
普通にWebBrowserを使えば良いのでは? htmldom操作できるぞ
>>99 webBrowserはwpfバージョンはdynamic前提仕様で使いづらいし
winformバージョン使うとリサイズで画面乱れるし・・・
もうじまえびょうがしかないな
それはしねる
GlyphRunDrawingなんかでリサイクルしながら描画すればいいのかな クソ面倒臭そう
今までコンソールでC#をけっこう使ってきて、WindowsプログラミングしてみようとおもってるんだけどWPFってどうなの? Windows Formsも一度も使ったことないんだけど…どっちにすればいいか悩んでる
Windows Forms→WPF
WPFの方がすっきり書けるからオススメ コードをガリガリ書きたいならWinFormsでもいいと思うが
GUIがオマケというか標準コントロールをほぼそのまま使うならWinFormsの方がお手軽 後、XPで動かすならwpfはちょっと辛い。逆にVista以降ならwpfの方が速いかな
そうか、ありがとう GUIを作り込む…っていうとなんか違う気がするけどまあWPFのほうがすっきりしそうでいいね まだネットにも情報すくないんだな…
5年以上前にできてネットに情報少ないものって使うのに苦労するだけ
社内ツールのようなものならFormsでいい 見た目の豪華さで情弱を騙す必要があるソフト(偽アンチウイルスソフト)などを作るつもりならWPF
偽セキュリティソフトなんて作らねえよwwwww いつかWPFの時代は来るのかねえ…
wpfの二ちゃんブラウザが誕生したら 爆発的に普及する。
wpfは消えるがxaml使った新しい物が残るんだろうなMetroとはまた別の奴が
今wfpで作っておけば、簡単に移植できるようになるのかな。
wpfが消える・・・ 勘弁してくれ
ちなみにFormsは、MS的にはオワコンなんだが。
もうHTML5でいい
Forms オワコン WPF オワコン Silverlight オワコン WinRT 始まっていない どれを使えばいいんだよ
>>118 Forms とっくにオワコン
WPF 黎明期
SL HTML5普及でオワコン
WinRT 始まってすらいない
よって WPF 最強!
WPFは糞重いから Formsで
結局Formsで落ち着くんだろ
Forms ってXPと同じでそのうちサポート切れるんだろ。
Formsやっとけば応用効く
Forms より ASP.NET MVC の方が応用効かねえか?
XPのシェアが無視できる程度まで少なくなったらWPFの時代が来る?
winforms→swing .netさようなら
オワテルのJavaとか無いわ まだQtの方がマシ
C#が完璧すぎるとは思う だから.Netが普及してMonoが普及して、WPF採用すれば・・・
>>119 何年黎明期なんだよアホかwwwwwwww
ポジション的にもFormsとXPは似ている
SL jQuery普及でオワコン
>129 八割以上のVBユーザーが移行し終えて、初めて普及したといえるだろう
じゃあ永久に普及しなくていいや
XPが死ねばタスクダイアログも使えるのにね WPFの挙動もXPだけ違う XPのせいで縛りが多すぎるwindows
WinRTでXPもVistaも7もWPFも死ぬ
ないない 業務で使えない技術なんて普及しても知れてる
WPFは滅びぬ。何度でも甦るさ。
死亡フラグやんけ
>>135 C#だけは鉄板なのは確実なんだから業務でもゲームでもmvvmで書いとくのが先見の明ちゃうか
ゲームはネタとして、大事なのはMのUIからの分離であって MVVMそのものは移植性にはほとんど関係ないと思うよ タブレットとデスクトップじゃ画面構成を完全に変えることになるからVM使い回しなんかまず無理だろ
>>702 「軍人2万、民間人数千」と言っているダーディンの記事を根拠に「民間人虐殺は5万以上ニダ」という情弱さんですか?
おっと誤爆w
誤爆防止機能もついてない2ちゃんぶらうざを使ってる男の人って…
Blend SDKのTranslateZoomRotateBehaviorみたいなの作ってます。 Behaviorの中にはprivateな各Transform(Scale、Translate、Rotate)があって、 外部には表示用として各Transformのプロパティを公開したいと考えています。 公開するにあたって以下の点を守りたいです。 ・外部からは操作できないようにする。読み取りのみ。 ・アニメーション中の値もきちんと反映させる。 ・バインディングしやすいようにプロパティとして公開。 これを達成するにあたって読み取り専用依存プロパティを別途用意し、 これにTransformのプロパティをバインドさせ、公開するのを考えましたが、 どうやら読み取り専用依存プロパティをTargetとするバインドはできないようです。 なので今はふつうの依存プロパティを用意していますが 見かけ上外部からの変更が可能なのが気になります。(OneWayなので実際は無効です) 上記の3点を達成する上でもっといい方法があれば教えて下さい。
officeやvisualstudioはwpfで作られているのだから、 wpfでもきちんとしたアプリは作れる 単に技術者がいないだけ
Officeは違う
>>145 OfficeはWPFじゃないよ
ネイティブアプリだよ
どうしてこういう間違った情報が流れるんだろ
WPFリボンライブラリ不具合大杉
先にOfficeのリボンがあってWPFでマネしただけなのにな
「リボンのDLLがある」って思いがちだけど、 少なくともwpfのあれは「リボンの仕様通りにwpfで書き起こした」だけだからね
リボンのメリットがいまだによくわからん ユーザーとして使う分にはリボンでも、抵抗は前より少なくはなってきたけど リボンでも我慢できるってレベルで、わざわざリボンを使いたくはないんだよな
メニューバー+複数ツールバーをまとめられる
メニューの深いところまでドロップダウン中に アクティブを取られて最初からやり直したことのないものは幸せである クイックツールバーによるカスタマイズと、ウインドウ幅に応じた自動レイアウト、 それとギャラリーなんか素敵やん? まあボタン5つくらいで済むならツールバーでもええんちゃうの
開閉式に出来たらいいのに
クイックバー小さすぎ
自動レイアウトはいらない子 劣化UIだよ office2000で実証済み
常に同じ位置同じ大きさにあるのがいいレイアウト
変わるって、折りたたまれるだけじゃん きみの理想実装したらツールバーにスクロールバー付いてユーザーから袋叩きやろ
>>159 office2000で使われないメニュー項目を自動的に隠される機能がついてて不評だった
普段使わないけど使いたいときに見つからないから
開発者のオナニーでどんなメニューにしたっていいよ 旧デザインに切り替えられるなら
手が勝手に動くみたいに、メニューが常に同じ場所に無いと脳を無駄に使うってことか
一太郎のESCメニューみたいなのが使い込むと良いんだけどな 本家でも今やオマケ機能扱いだが
ある日突然自動車のハンドルを操縦桿に変えられたらどうする? 事故続出だべ
WEBブラウザはホームページ見るだけだろ 文書作成したりするソフトと比べるなよ
ブラウザはOffice製品に比べるとボタン類が格段に少なくできるから、 ブラウザとOfficeでは違うUIパターンを採用するのは正解だと思う。
臨機応変って大事だよね 何でもかんでもリボンとか 馬鹿の一つ覚えだよまさに バ〜カ
ときにはちゃおを
なかよしもね
壁を突き抜けた感じがする
ちゃんと塞いどけよ
FORMS→WPFコンバータまだー
わろた
意味とか考えちゃ駄目だ
DataContextに設定したクラスの、明示的に実装したプロパティをバインドに使う方法がわかりません {Binding Path=(local:IViewModel.Text)} のように丸カッコで括る方法を見かけたのですが やってみると、 "Binding" で InvalidOperationException がスローされました: オブジェクト 'null' を PropertyPath のアクセサー パラメーターとして使用することはできません。アクセサー パラメーターは、DependencyProperty、PropertyInfo、または PropertyDescriptor でなければなりません。 と出てしまい、バインドされません うまくバインドする方法を教えてください。
明示的実装はprivateメンバになるから無理じゃないかな
自前で参照用DependencyProperty実装しろってことか
うむ。
181 :
177 :2012/01/09(月) 18:19:20.48
すいません、バインドの仕方がまずかったようです 丸カッコで括る方法でバインドできました
183 :
デフォルトの名無しさん :2012/01/16(月) 12:24:29.00
ugayaさんがLivet改造中らしい。ビットバケツのコード見ると、次期バージョンはフォルダ選択ダイアログも搭載するみたいだね。
この前のしょぼいコードは修正したのかな?
一番重要なドキュメントが無く、6月で整備とか言いつつまったく目途がたっておらず、新たな予定も開示されない時点で他人が使うものじゃない。
ugayaが書く文章は意味わからないから、 こんな人のツールなんて使えない。
>>185 まあまあ、おまいらのプロジェクトだって似たようなものじゃまいかw
MVVMって、 UserControlつくって、 ContentControl1.Content = new UserControl1() とかやってUserControl表示するの禁止なの?
いったい誰が何の権限で禁止するってのさ
別にしたっていいけどメリットが無いな <ContentControl> <UserControl /> <ContentControl> で済むし
なんでもXAMLで済ますのは辞めようよ
これが「なんでも」って オールオアナッシングよりひどいぞ
193 :
190 :2012/01/16(月) 19:39:59.59
人の好き好きだから別に無理強いはしないけど
>>188 のメリットを何か提示できるなら興味がある
>>186 いみふ。
下手な文章書くけど優秀なエンジニアはゴロゴロいるが、
うまい文章書く奴がすべて優秀なエンジニアとでも?
いやいや 声でかい人が文章下手でどうするの
スポークスマンを雇う
.NET 系エンジニアで文章うまい人って誰かいるかなぁ。
操作によってUserControlを入れ替えるのと
必要なとき以外インスタンスを持ちたくない場合なら
>>188 かな。
俺は入れ替えるだけなら
>>190 で、プロパティ使って表示非表示制御するけど。
WPFで、<Image Source=〇〇/> って感じで画像をサムネイル表示、 選んだ画像に簡単な画像処理をして、元のファイルに上書き保存 ってことがしたいんだけど、Imageとして表示に使うと 別のプロセスで使用されているためアクセスできないって怒られてしまう 別名保存なら問題なくできるんだけど…元のファイルに上書きってどうすればできるんでしょう?
SourceをBitmapImageにして CacheOptionだかをOnLoadにする
ugayaは自分の世界に閉じこもったような説明をする。 公に説明しようとしない。
そんな謗られるような悪いことはしてないと思うがなあ
ugayaは文章は上手じゃない 短く区切ればいいのに連結して文章を書くから意味がとりづらい
@ITのは、少なくとも校正は入れるべきだな。
Livetのソースコード眺めてたけど、Freezableってあんな使い方していいのか? Frozen呼んでるのにResponseプロパティ読み書きできるけども
流れが止まった
211 :
デフォルトの名無しさん :2012/01/21(土) 12:24:15.38
mediealementって、再生中に解像度を変えると、固まってしまうってバグは既出?
それどころか 再生中に○○を△△△したら固まる
駄目すぎワロタ
mvvm light toolkitがあれば、十分です。 他はいらねえし。
>>214 ・僕はホンモノのプログラマではありませんから、やっつけ仕事ですよ。
ホンモノのプログラマは、「動いてるように見えるけど、メモリリークだらけじゃないか。直す必要があるかもね」なんて言うでしょう?
僕なら、10リクエストごとにApacheを再起動しますね。
Pro WPF for C# 2010 注文してみたわ 楽しみ
>217 Amazonで、実物の本を触らないで注文したけど、届いて重さと厚さに驚いた
vs2012っていつ出るんだろうね
これだったら年号ついてたらなんでもアフィサイト作れるじゃん…
クッソワロタ
225 :
デフォルトの名無しさん :2012/01/22(日) 16:12:05.32
226 :
223 :2012/01/22(日) 19:37:49.08
ビデオのアンチエイリアスをアプリ依存に戻したら治ったわ
ListBox.ContextMenuのCommandのCommandParameterにListBox.SelectedItemを渡したいんですがnullが入ってしまいます・・・。 どうやればよろしいんでしょうか。 ↓今の状態 <ListBox x:Name="listBox" > <ListBox.ContextMenu> <ContextMenu> <MenuItem Header="ほげ" Command="{Binding HogeCommand, Mode=OneWay}" CommandParameter="{Binding SelectedItem, ElementName=listBox}">
きっついなw
230 :
227 :2012/01/22(日) 22:11:46.62
ContextMenuは見た目通りの要素ツリーになってないんだよね ContextMenuっていうかPopup全ての話だけど、Windowの直下にContextMenu用のホストがあって、その中に生成されている だからXAMLの上では要素ツリー上に名前があるように見えるけど、実際に検索すると無いって事態になる 実に紛らわしい糞仕様だね 報告しろよ
ポップアップは別ツリーのトップだとどこかに書いてあるよね?
俺は知ってたからどこかでは読んでるはずだなあ。 どこなのかまでは覚えてねえ。
ビジュアルツリーはそういうもんだろ 論理ツリーは?
おれらの思いつく突っ込みの9割はちゃんと意味がある仕様だよ
ウィンドウのサイズ変更中は、ウィンドウ内のレイアウトを書き換えないようにできないのか? (「ドラッグ中にウィンドウの内容を表示する」を OFF にしたような感じ) 表示するコントロールを多くせざるを得ず、重くてしょうがない。
win7のおまけの上海みたいにするんじゃないの 自分で
scrollviewerのようにリサイズしても変わらないものに入れる
>>236 リサイズ中だけ、リサイズ前の制約を使って
レイアウトの計測フェーズを実行するパネルを作って最上位に配置
Window自体のレイアウトをオーバーライドしてもいいけどね
いちばん下にcanvasおいて、sizechangedの1秒後にcanvasサイズをウインドウに合わせればいいんじゃね rxで
Rxのスロットル(だっけ?)にSizeChangedを通してあげれば実現できると思う。
242 :
236 :2012/01/25(水) 00:24:48.61
レスサンクスです!
なんか昨日から書き込めなかった。
お礼が遅れて申し訳ない。
>>238 ワガママながら、レイアウトをサイズ変更に連動させたい
>>239 リサイズ中か、WPF で取得する方法あった?
それが取れれば一番良さそう
243 :
236 :2012/01/25(水) 00:31:09.85
>>240 ,241
Reactive Extension 使って、SizeChanged の頻度を下げるってことですよね?
(スミマセン、rxの動きとかよくわかってないかも)
これだと、サイズ変更した瞬間には再レイアウトが始まらないので、若干都合が悪い気が…
ただ、そもそも Rx という存在を知らなかったので、だいぶ役立ちました。どうもです!!
Forms に ElementHost 使ってみたりしたけど、初回表示が激重になってしまう…
マウスが押されているかとかをリサイズ中かの判断材料にする。 基本使わないと思うけど、キーボード使ったりサイズは同じような感じで対策すればいい。 リサイズイベントと関係ないのはあまりよろしくないけど。 Rx の Throttle 使うならイベント通知の遅延が許容出来るミリ秒の設定。 Thumb みたいなのがあればいいんだろうけど俺は知らない。
245 :
236 :2012/01/25(水) 15:18:15.00
>>244 > マウスが押されているかとかをリサイズ中かの判断材料にする。
なるほど!
> イベント通知の遅延が許容出来るミリ秒の設定。
マウスがはなされるまで遅延させ続ければればいいのね。
ようやく理解できた。
キーボードは、うん、対応しなくても大丈夫だと思う。
246 :
デフォルトの名無しさん :2012/01/25(水) 18:44:18.72
WPFで作るとほかのPCで動作しない可能性が高まる
>>246 WPF ってか、.NET のバージョンの問題でしょ。
.NET 3.5 までなら、普通に Windows Update してる XP に入ってるし大丈夫でしょ。
.NET 4 が使いづらいのはわかるが。
グラフィックドライバの問題は時々聞くねー
どちらかというとドライバー不具合の話じゃないのか?
すいません、とても緊急なことなんで、教えて頂ければ幸いです。 var thumb = sender as Thumb; if (thumb == null) return; var parent = thumb.Parent(); if (parent == null) return; としたときにthumb.ParentのParentが 実行不可能なメンバー 'System.Windows.FrameworkElement.Parent' をメソッドのように使用することはできません。 というエラーを返してくるんですが、親要素を取得するためにはどうすればいいのでしょうか?
()を取れよ馬鹿
GetParentだったら Method Parent はどう見ても Property
スレチに回答
有難うございます。スレチなのですか?一応WPfのことなので…すいません。
>>251 comoさんの所のサンプルコードを動かしてるのですが、()を外すと他の部分に支障が出るんです…
>>252 はい、プロパティを取得したいんです。どうすれば良いのでしょう…
なんだかんだでお前ら優しいよな
()を取れよ馬鹿
ふらっとに括弧外してエラー出るところ書き込みしろ。 エラー内容は予測できているから、そっちで回答してやるよ。
すいません、スレチであれば何処で聞けば良いか教えて頂けないでしょうか? 他にWPF関連のスレ見つからないもので…
>>257 ありがとうございます!Parentの()ですよね。
スレ汚しすいませんでした!
本当すいません、ふらっと出ぐぐったら宮城のSNSが出てきてそっちの登録しちゃいました! ここの中のふらっとC#だったんですね、本当すいません!今すぐ行きます!
嵐のような奴だったなwww
オチが秀逸だなwまた来いよ
また来いよ。ふらっとにな。
Effectクラスを継承して、独自のエフェクトを作ることは出来ますか? BlurEffect, DropShadowEffect, ShaderEffectがあるのは知ってますが、 これらはEffectクラスのどのメソッドを実装して作られているのでしょうか。 同じように、ImageSourceってどういう作りになってるのかなと思って、 WriteableBitmapみたいなものを継承して作ってみようと思ったんですけど、 一体どのメソッドをoverrideすればいいのか分かりませんでした。 abstractになってるのはWidth/Heightプロパティくらいで…
WPFは5年経ってもまだ普及しないのか。
WPFはVisual StudioみたいなMSの独占アプリでしか使われない。 出来が悪いが他に選択肢がないから、ユーザーが泣きながら使うと。
xamlだかなんだか知らないが、GUIのコード意識させるな winformと使い勝手が違うらしくてメニューの作り方が分からん
QtとGTKで同じコードがうごかねえ死ねって言ってるようで滑稽なんだけど
同じコードで動いたら幸せだろ みんなハッピーだろ
MSの偉い人はそれがわからんのですw
COBOLが動いてもうれしくないけど
そういえばWPFでググってでてくる記事書いてた人達(主に海外)が次々とMS陣営から いなくなってんだけど 首になったりadobe陣営に移ったり…
WinRTが出た時点でWPFは切り捨て路線でしょ
数年後にはオフィスのデスクでみんながタブレット触ってるの?w
formsみたいな20年前の設計思想に戻りたいとか40代のおっさんかよ
何か文句があるのか若造
WinRTはMetro上でしか動かないらしいけど、今後wpf置き換えてく計画なの?
いや別に だいたい、デスクトップとタッチデバイスなんてどうせ共通のUIでいけるわけじゃないんだから 同じにする意味がない
VirtualizingStackPanel を ScrollViewer の下に置いて、 仮想化させて表示させる方法はありませんか? Stack の子要素のレイアウトを、StackPanel の幅に合わせたいので、 たんに ListBox を置くだけでは不十分でして… ↓表示されませんが、こんな感じです。 <Window Title="MainWindow" Loaded="Window_Loaded"> <ScrollViewer> <VirtualizingStackPanel Name="stpMain" /> </ScrollViewer> </Window> private void Window_Loaded(object sender, RoutedEventArgs e) { foreach (var ff in System.Windows.Media.Fonts.SystemFontFamilies) { var txtt = new TextBox() { FontFamily = ff, Text = ff.Source }; stpMain.Children.Add(txtt); } }
>>273 >WinRT
XAML+C#で開発するスタイルは、WPFやSilverlightと変わらんだろw
端的にいうとWinRTってのはMetro用のWPFだからな。
ウィンドウ、コントロールは単純に置き換えるとしても 画面遷移だな
メトロはアクティブ失ったときに5秒以内にデータ全部退避させられないとプロセスkillされるんだぜ 作りが全然違うよ。WPF作れないやつならメトロアプリも作れないだろ
阿鼻叫喚になりそう
必要ないなら使わない これが正解
XNAもver4が出てからぱっとしないね 新アーキテクチャーのver4自体盛り上がってないし前のver3も死んだようになってる 新しいアーキテクチャーが出たら 両方とも死んじゃうみたいな流れは避けてほしいなあ
WPFのMono移植ですら難しそうだったが WinRTになると・・・どうだろ
Monoは対応する気は無いと明言してるよ WinRTに限らず、Monoはクロスプラットフォーム開発したいならUIとロジックを分離して、 UIはデバイスの特徴に合わせる必要があるから共通化なんて考えないでそれぞれ個別に作れという方針
やるわけないだろ
290 :
デフォルトの名無しさん :2012/02/02(木) 20:28:15.93
ちょいと質問です。 現在ViewModelでソートしたコレクションをバインドし、一覧として値を画面に表示しているのですが、 データを更新してもソート順が変わりません(表示する値自体はOnpropertyChangedで変わります)。 データの更新に合わせて画面のソート順も切り替えたい場合は何を使用すればよいのでしょうか? ちなみに、内部の処理では問題なくソートしなおされていました。 おそらく画面に反映ができていないだけだと思うのですが・・・。
コレクションクラスに何使ってんのよ ソートしてるってことはObservableCollection「じゃない」んだろうけど ObservableCollectionが何実装してるか確認してみれば
livet0.99でViewModelのListenerCommandを View側の複数のCommandにバインドさせて、 RaiseCanExecuteChangedしても 1個のCommandにしかEnabled反映されないんだけど 使い方間違ってんのかな 0.98の自動モードだといけたんだが
294 :
デフォルトの名無しさん :2012/02/03(金) 23:30:45.90
>>291 すみません、書き方が悪かったです。
ObservableCollectionを使用しています。
具体的な手順は、
@ ViewModel内で、Linq文の条件ででソートしつつ取得した内容をObservableCollectionに入れる
A 画面用のViewModel内にあるObservableCollectionに@の結果を入れる(参照渡し)
B ViewでAのObservableCollectionをバインドし、ItemsControlを使って一覧表示
といった感じです(いわゆるMVVMです)。ソートは単純にキーで昇順ソートしています。
データ更新時には@の処理がもう一度行われます(Aは画面表示時のみ)。
しかし、実際に更新すると値は変わるのですがソートがされません。
ViewModel内では変わっているのでバインドの更新?ができていない気がします・・・。
>>292 ありがとうございます。
CollectionViewですか!さっそく試してみたいと思います!
.NETは便利機能が多くて凄いけれど覚えるのも大変ですね・・・。
Vにバインドされている(VMの)コレクションの要素をちゃんと並び替えてるのか? LINQから流し込むなら、一旦ClearしてAddを繰り返す必要があるはずだが
考えられる原因 @Add、Remove、InsertしてないのでCollectionChangedが発行されていない AViewModel.ItemsにObservableCollectionを代入する時にOnPropertyChangedを発行していない たぶんA
下記のようなコレクションビューソースをWindow.Resourceで定義しており <CollectionViewSource x:Key="DisplayItems" Source="{Binding Items,Source={StaticResource ViewModel}}" /> 次のようにListBoxにバインドしています <ListBox ItemsSource="{Binding Source={StaticResource DisplayItems}}" /> この状態で、XAMLからItemsSourceに入っているListCollectionViewインスタンスのCustomSortに IComparerを実装したインスタンスを設定するにはどうすればよいでしょうか コードビハインドに書けば以下のコードだけで済みますが (FindResource("DisplayItems") as ListCollectionView).CustomSort = new CustomSorter();
間違えた ((FindResource("DisplayItems") as CollectionViewSource).View as ListCollectionView).CustomSort = new CustomSorter(); こうか 別にコードビハインドに書けば済むことですが CollectionViewSource.SortDescriptionsはXAMLで簡単に指定できるようになっているのに、何だかなあと思った次第
MediaElementにdoubleclickイベントが無いようなので、親windowのダブルクリックイベントで代用して MediaElementの部分がダブルクリックされた時だけアクションが起きるようにしたいのですが どう書けばいいですか?
>>295-296 うおお、ありがとうございます!無事出来ましたー。
どうやらClear&Addしていなかったのが原因だったようです。
Linqの結果をリストにつめて、foreachでコレクションにAddしていったら動きました。
>>299 ウィンドウじゃなくてContentControlの子にしてContentControlのイベント拾えば
>>303 ,304
ありがとうございます。
すいません質問が悪かったようです。
ShaderEffectとHLSLを使えば、独自のエフェクトを実装できることは承知しています。
でもBlurEffectとDropShadowEffectはShaderEffectではなく、Effectクラスを継承していますが、
例えばもし自分がBlurEffectと全く同じものをEffectから継承して作成するには、どうしたらいいのでしょうか。
単にWPFのEffectの仕組みに対する興味なのですが、MSDNライブラリでEffectクラスの解説を読むと
> カスタム ビットマップ効果を実装するには、Effect クラスから派生させます。
と書かれているので、ShaderEffectを使わずに、Effectを実装する方法が気になりました。
Effect関連のソースコードが公開されていれば、簡単に分かると思うのですが。
無理 internalな抽象メンバ持っててパブリック拡張できない抽象クラスっていうのは MSライブラリにはすごくよくあること
WPFのMessageBoxってGDIなんだな
わからないことがあるならILSpyとかでライブラリ覗いてみろよ そこから見えないとこはC++で書いてあるだろうさ
windowのBackgroundを黒にして this.WindowStyle = WindowStyle.None; this.WindowState = WindowState.Maximized; ってな感じでフルスクリーンにすると画面の右端と下端に白線が入るんですけど 直す方法はないですか?
RelativeSource冗長すぎなんだが改善予定ないのかね
>>309 実行したけど出ないぞ win7
どうせ試した奴がwindow閉じられなくなるっていたずらだろ
つまらねえよ
実行前にわかったからあらかじめcloseボタン作ったぞw
>>311 いやあ、win7-64bit機2台で試したけど両方とも出るんです。
やってる事はこれ↓だけなんですが。
1:VC# 2010ExpでWPFアプリケーションのプロジェクトを作成
↓
2:windowとgridのbackgroundの色を黒に変更
↓
3:csに以下のソースを追加
private bool isfull = false;
private void Change_Screen()
{
if (!isfull)
{
this.WindowStyle = WindowStyle.None;
this.WindowState = WindowState.Maximized;
}
else
{
this.WindowStyle = WindowStyle.SingleBorderWindow;
this.WindowState = WindowState.Normal;
}
isfull = !isfull;
}
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F11)
{
Change_Screen();
}
}
>>312 Win7-64bitで試したけど出ないね。
>>311 開発者ならAlt+F4くらい覚えとけ。
>>312 拙者もwindows7 64bitで試したけど出ないでござるね。
ドライバ臭いな
316 :
312 :2012/02/09(木) 15:15:33.89
システムの詳細設定・パフォーマンスオプションの視覚効果で 「ウインドウとボタンに視覚スタイルを使用する」を一旦オフにしてから再びオンにすると 白線が出なくなりました。 でも他のアプリケーションではそんな事をしなくても元々出ないので気になります・・・
318 :
312 :2012/02/09(木) 15:36:22.32
>>317 一台はnvidiaのGT-520でもう一台は2600k内蔵です。
どっちも付属ディスクのドライバだった気がします。
怒らないからwindowクラスの上に何載せてるか言ってみ
>>313 ALT+Space派の俺が参上
ウィンドウの左上隅をダブルクリックして閉じるのは、MS的には非推奨なんだっけ
321 :
デフォルトの名無しさん :2012/02/09(木) 21:52:01.69
タスクマネージャから終了派の俺様の登場だ
taskkill派を忘れてもらっては困るね、諸君
XAML難しすぎ
そのうち快感になる
バインディングとかわかる機能だけ便利に使ってる
だいぶ慣れてきたけど、最初の敷居が高かった気がする・・・
なにこれ重たい
体重計が喋ってる
WPF が重いなんて言うのは嘘だな。 Core i7 メモリ12GB で使ってるけど全然軽いじゃん。
リッチ!抱いて!
俺もi72600と16GBとHD5970だけど別に重くないと思うな
PhenomII X4 955 3.20Ghz 4GB HD5770 の、一般的なPCスペックだけど別に重くないぞ?
確信した!!! あと5年はWPFは普及しない!!!
複数のテーマを使い分けるにはどうしたらいいですか? たとえばslider1とslider2を違うデザインにしたいんですが。
それではもうテーマとは言えないだろう。
337 :
デフォルトの名無しさん :2012/02/10(金) 18:21:42.96
ここでXAMLが理解できないといってる奴は、昔ポインタが理解できないと言ってた奴等と同じ匂いがする。
>>333 その頃にはFormsは完全に亡んでいそうだな。
もっともその前に日本が亡んでいそうだが。
ポインタを理解していたら、XMLの遅さを理解しているはず。 結局はゲイツが正しかったわけだ。やはり技術者上がりの経営者は違う。
Core i5 2500、
[email protected] WinVista+SP2 (x86)
今時じゃ微妙スペックなマシンだが、別に重くないがなあ。
.NET Frameworkの宿命で、アプリの初回起動だけは時間掛かるがね。
>>333 5年で普及するなら余裕ってもんよ。
WPFとVB6で作られたソフトは使いたくない
WPFでてからすでに5年はたってるんじゃまいか
WPF使いたくないのはともかく、なぜVB6を引き合いに出す
>>342 使われてるフレームワークでアプリを選ぶって無理じゃね?
今のところWPF使ってる人の方がWinForms組よりも圧倒的に平均スキルが上だろうから そういう意味ではWPFで作られたソフトの方が良いのかもしれない
Behavior作ってBlendで配置してみたらICommandを設定するつもりのプロパティが トリガーとして表示されるんだけどなんでだろう どうやってもトリガーのままで、しょうがないからXAML手書きしてる
>>346 業務でWPFを推す奴は総じてスキルが低いのはなぜなのか。
ビハインド主体のWPFでも移行コスト高いんかね
WPFはなんかの拍子で不安定なるのが多い 業務で使うなら安定したWinFormsだろ
製品でつかったことはあるが、環境依存不具合が問題だな。 性能の低いPCだとみたことない現象がボロボロと
>>348 本当にスキルのあるやつは最先端の技術を難なく使いこなせても
実際の業務では枯れた記述を使う。
記述になっとる・・
遅レスだけど、 川俣氏の記事は最高に読みやすい 特に@itのC#記事には助けられた。 読みにくいと言っている奴は、単に己のスキルが低いだけでは?
川俣の記事はマニアック過ぎて一般向けではないな。
あの人の記事、個人的には好きだし役立つと思ってるけど WPFのことは何も書いてないから、このスレ的にはスレ違い??
>>355 たしかに、ライトユーザ向けではないが、
熟練者には貴重な記事だと思った。
読んでて感心したから。
尾上氏の記事はまあ、、、たしかに読解が困難だなあ。
これも俺のスキルが低いからかな?
俺も川俣のc#入門本に助けられた 12か月ほどどこに行くにも川俣の本持って行って空き時間に何度も読んでた 同じ本を何度も読んだのは人生であの本だけ 期待してた続編はいまいちだったけど…
1〜2か月ね…
川俣が読みやすいというのは関数型よりCOBOLのソースの方が読みやすいというような感覚に近い 密度の問題だな
暇つぶしに読むほど熱中したのはPythonのリファレンスだけだわ
>>352 スキルある奴は運用や保守のことも考慮してるってことなんだよな。
スキルのあるヤツが作ったドカタプログラムとドカタプログラマーの作った ドカタプログラムは全く別のもなのである。
そして同じ値段で売られるという
スキルのあるプログラマはドカタプログラマーの数分の1の期間で作るので値段は安くなる。
同じ値段で売ればより原価率が下がるじゃん 会社としてはそっちの方が正義やろ
個人としてはコキ使われてる感半端ねー
スキルのあるプログラマは 給料は殆ど変わらないのに ドカタプログラマーの分まで働かされて 気が狂って消息不明になると
スキルのないプログラマがスキルのあるプログラマの内面を想像しようだなんて 下手の考え何とやらだと思いませんか
バギーで動かない、読めないコードの保守を頼まれたらキレるべし。
>>370 プロであれば切れる前にぼったくる事を考えるべし。
「リプレースした方が『結果的には』安く済みますよ!」
二月に入ってから米で妙な噂あるよな 何なんだろうね
何
MSに対してFUDFUDいうほうがFUDしてる罠
怪しいお米
>>372 「結果的に安く済む」の根拠を会社の上層部に分かりやすく出すのは難しいし
動くプラットーホームが無くなったときに足元を見てぼったくるチャンスを逃す事にもなる。
よって無駄な延命措置をするのがプロのお仕事。
どうでもいいが、スレ違いの話で盛り上がるなよ。 結論はWPF最強ってことでよろしく。
source1のHeightPropertyをsource2のHeightPropertyの1/10の値でbindingさせたいのですが C#コードで書くとどうなりますか?
source1.HeightProperty= @source2.HeightProperty.Convert((x)=>return x/10);
先頭の@が抜けてた @source1.HeightProperty= @source2.HeightProperty.Convert((x)=>return x/10);
wpf2ちゃんブラウザまだ?
RoutedCommandって ・Commandプロパティに設定されてる要素から始まって、 ルート要素に行くまで、親要素でExecute、CanExecuteの評価をする。 ・CommandBindingでハンドラがヒモづけられてる要素あるいは 内部で既に実装を持ってる要素で動作する。 ・動作した後も引き続きルート要素まで登っていく 機能で、 VMでは定義せず、もっぱらV上で完結するコマンドと理解しておk? うーんよくわかんね。
exactly
補足すると >・動作した後も引き続きルート要素まで登っていく イベント引数の Handled に true をセットでイベント終了。
>>385 てことは一度動作するとそこでルーティングは終わっちゃうのね。ありがとう
TextBlock1.GetValue(Canvas.LeftProperty) の値が変化した時にイベントを発生させてメソッドを呼び出すにはどうしたらいいですか?
ひどい解決法だな
DataTriggerでAction実行するのと変わらんだろ
まっとうな通知法がないってことじゃないか
YES Sir
今の時代、何が真っ当か決めてるのはフレームワークだからねえ 従えないなら出てけと言わんばかり
WPFを使い始めようと思うのですが、ちょっと入門してみたところ、 どうやらWPFはMVVMというパターンを使うのが当たり前のようになってると感じました。 Windows Formsを使っていたときは、パターンなんて何も考えずに書いてましたが、 WPFを使うにはMVVMを勉強しないといけないですか? MVVMを知らずにWPFを使ってる人はいるのでしょうか。
MVVMなんか無視でおk WinFormsと同じように使える
>>387 「変化した」じゃなくて「変化させる」コードを捕まえればいいんじゃないの
>>394 MVVM使わないとWPFのメリットあまり無いけど
それでもいいのなら
MVVMでなくてもいいが、WindowやControlと、Source、DataContextは別にしてバインドさせた方がいい その方が圧倒的に楽にいろいろできる
>>398 がいい加減な事書いてるけど、ちっこいプログラムしか作らない
日曜プログラマーな人なら、面倒なだけで、自己満足を除いては
メリットを感じる場面はほとんどないだろうな
MVVMがメリットてw 自由度が上がった分複雑になっているからそれをカバーするために バインディングが強化されているのであって、決してMVVMは目的ではない あくまで表現力の強化がWPFを使う目的
MVVMはインフラとドキュメントがまだしっかりしてないから初学者には厳しいね
WPF はバインドを基本に設計されてて、イベントドリブンの詰めが甘々な仕様です。 Forms と同じようにイベントドリブンにすると、あり得ない挙動をするから要注意。 MVVM は万能かつ絶対ではないが、せめて V と VMM(VM と M を一つのクラス) とかに分けてバインドさせる方がよい。
コマンドもイベントドリブンだから
標準インフラ的にViewModelは存在すらしてないからな
パターン知らなくてもできる そりゃできるだろ。 LINQ知らなくても、ラムダ知らなくても、匿名メソッド知らなくても同じ動きのコード書けるからな。 でもそれがどういう意味かわかるよな。
>>406 ( ゚д゚) b しーっ、それじゃ例えが高尚すぎて、ここの人達ついてけないよ。
> クラス知らなくても、変数知らなくても同じ動きのコード書けるからな。
くらいまで落とさなくちゃダメ!
初心者にMVVMはお勧めできないな。 まずはDataTemplateやBindingの基礎をしっかり理解した方がいい。 すると、コードビハインドでは面倒な場面が出てくるから、 その解決策としてMVVMを学ぶといい。
だね 従来型の弱点がわかってて それを違う形にしたい人向け したくない人はそのままでいい
>>406 の挙げてるような使ったら楽になる類のものとは違ってトレードオフだからな
適用するべきか否か自分で判断できないようなレベルで使っても
まず間違いなく余計に手間かかってデメリットのほうが多い
WPFのメリットで一番わかりやすい点はデザイン面なんだから さっさとBlend配布か統合して欲しい
お買い求めください
おことわりします WPFなんて要りません 工数が無駄に増えます
XAMLの歴史 WPF発表〜 ↓ 普及しない ↓ silverlightでどうだ〜 ↓ 普及しない ↓ wpにも載せてみました〜 ↓ 普及しない ↓ metro作ったよ〜
むしろ開発が中止されたManagedDirectXのほうが普及し使われてる感がある。
項羽と劉邦級の一発逆転があるかもしれない!
初回起動が速ければ使う方から受け入れられていくと思うんだよね スプラッシュは必須か
ユニットテストやりやすくなった分だけ捗る
420 :
デフォルトの名無しさん :2012/02/17(金) 11:32:21.86
mediaelmentでRepeatBehavior="Forever"として、 連続再生していたら、動画が停止してしまいます。 ディスプレイ解像度を変えたら停止するようなのですが、 他に原因ってあるのでしょうか。
WinFormで作ったエディターコントロールをWPFに移植しようと思う Controlだと読み込んだファイルの内容を描写できないから、エディターコントロールを作りたい場合はFleamworkElementを継承して使うという感じでいいんだよな?
422 :
421 :2012/02/17(金) 16:17:45.18
× 描写できないから ○ 独自に描写できないから
>>421 Controlだからって直接描画できない事は無いよ。
けど、性能面やTemplateへの対応を考えると、
描画を担当する部分はFrameworkElement派生で作って
それをControl派生クラスでラップする形がいいと思う。
>>423 ふむふむ
そういう風に作るといいのか
参考にしてみる
ありがとう
DataGridにクラス配列を読み込んで列を作りたいのですがどうすればいいですか? public class Person { public int num; public string name; } List<Person> persons=(List<Person>)data; dataGrid1.ItemsSource=persons; と書いたらとりあえず行は読み込んだみたいですが続きがわかりません。
おーとじぇねれーとからむとかいうプロパティ
あ、AutoGenerateColumnsは規定でtrueだから違うな 「Personのnumとnameがプロパティになってない」からだ
多重起動を防止したいのですが、既に開いてる方の実行ファイルを閉じて 新しい方を開くのはどうすればいいですか?
SendMessageでもWCFでも何でもいいが メッセージ受け付けるようにしといて閉じろ!って念を送れ
>>428 WCF使ってプロセス間通信すれば出来ると思うが
既に開いている方は、必ずしも安全に閉じられるとは限らないから
よく検討してから仕様決めるべきだね
閉じろーゴマァ!
432 :
デフォルトの名無しさん :2012/02/20(月) 18:03:13.76
WPFのツリービューの欠点はWindows.Formsのツリービューと比べて アイコン付きのノードを表示するのに時間がかかりすぎることだ。 数万のフォルダを表示するのに何分もかかる。結局、 TreeViewItemのHeaderに文字列を入れるしかなかった。
TreeViewに限らず、ImageコントロールのVisualTreeへの追加は遅いね。 画像のデコードを別スレッドでやっても遅い。 仮想化されたListViewのItem内で使うとスクロール時のFPSが大きく下がるし。
エクスプローラーがフォルダツリー表示するときにいちいちツリー作ってると思ってるのかい
万単位扱うの好きだよなw 見もしないデータグリッドに100万項目並べてみたり
100万はともかく、万単位は軽々と扱えて欲しいもんだ それ位の余力がないと ItemTemplate、VisualState、Behaviorの使用を抑制する必要が出てきて WPFのメリットが活かせない
デコードが遅いんじゃないのだからデコードを別スレッドにしたところで意味無いわけで 何が言いたいのやら Imageが遅いのは大抵スケーリングのせいだよ そのためにDecodePixelHeightで使用時に近い大きさにデコードするようになってるわけで
データ1万個並べるプログラマに何言っても無駄じゃないの Googleが検索結果一万個並べて表示してるか?
大きさが不ぞろいなアイテムだとレイアウトエンジンがフンガー言うし 例えばListBoxにWrapPanelをコンテナにして水平スクロールを切り、Imageを追加すると凄いことになる 欠陥品以外の何なのか
仮想化されたListViewって書いてあるけど違うのか?
>>439 俺もわざとやったことあるな
GUIが本当に固まるの
仮想化されたWrapPanelって外人が作ってたな
>>438 実用アプリでデータ1万件表示は求めんよ
言いたいのは、サンプルアプリレベルで1万件表示できないと、
実用アプリじゃ100件でも厳しいって事
Googleだって、検索結果1万件は非現実的だが、
HTMLのエレメント1万個なら有り得る範囲だろ
443 :
デフォルトの名無しさん :2012/02/20(月) 21:59:35.52
DirBaseのWPF版を作っているのだが、ノードの表示があまりにも遅いので、 ツリーにいくつノードがあるのか表示前に数えて、 2000個以上あったなら、TreeViewItemのHeaderプロパティに フォルダ名の文字列だけをいれて、2000個より少なければ、 イメージとテキストブロックを配置したしたスタックパネルを入れることで対応した。
さすがにそれは酷い・・・ まずはDataTemplateと仮想化をちゃんと使おうぜ
しかし、TreeViewの仮想化は使うとガクガクになるからなぁ
意外と
>>443 のやり方も正解かもしれん
DataGridのn行目を現在表示されてる範囲の最後の行に指定するにはどうしたらいいですか?
このスレってソース上げたら修正してもらえます? うまく動かない箇所があるんですが。
突っ込みたくてたまらなくなるような刺激的なソースなら修正してもらえるだろう
http://www1.axfc.net/uploader/File/so/75711 要素を拡縮平行移動するテストアプリを作りました。
左ドラッグで平行移動、右ドラッグ上下で拡縮します。
拡縮はCenterX,Yを用いて中心点を設定します。
右クリック時のポインタ座標が中心点です。
このアプリだと意図したとおりに動きません。
拡縮や平行移動を繰り返していると拡縮を行うとき(右クリック時)勝手に要素が動いてしまいます。
これを勝手に動かないようにしたいです。
WPFに関する部分なんでこのスレがふさわしいかと思いましたが…。
では
>>449 は取り下げて、ふらっとC#の方で改めて質問します。
DataGrid.Columnsの中身を別XAMLに定義って無理?
DataGridごと定義しろ
>>449 の質問がふらっとスレですげぇ盛り上がってた
DoubleAnimationって一時停止とかできないんですかね? あと、たとえばウインドウの右から左にコントロールが移動する時、 ウインドウのサイズ変化に合わせて移動速度を変えたりとかしたいのですが。
一時停止出来るよ
GridでもCanvasでもRectでもなんでもいいんですが、特定のエリアの上に (Childrenではない)別のコントロールが重なっているかどうかを調べる方法はありますか? たとえばCanvasの端にちょっとだけButtonの一部がのっかってるかどうかを調べたいのですが。
VisualTreeHelper.HitTest ?
460 :
デフォルトの名無しさん :2012/02/25(土) 08:43:03.21
タブコントロールのタブページを動的に作成し追加するのなら、 XAMLを使わず、コードのみでレイアウトする知識が必要だ。 コード中心の学習に方向転換をすることで、WPFの理解が深まる。 XAMLはコードの簡略表現に過ぎないことも理解できる。 幸いアメリカのサイトを検索すると、サンプルコードが簡単に 手に入る。
なんというチラ裏
コードでGUI作成って方向はアリなのか?
必要であれば
2012はやく試したいな
C#コードでDateTemplateをかけなかったりと XAMLでできることはC#でもできるとは限らないのがイヤン
FrameworkElementFactory使えば書けるよ>コードビハインドでDataTemplete XAMLの方が楽なのは言うまでもなく否定しない Binding binding = new Binding(); binding.Path = new PropertyPath("Name"); binding.Mode = BindingMode.OneWay; FrameworkElementFactory textElement = new FrameworkElementFactory(typeof(TextBlock)); textElement.SetBinding(TextBlock.TextProperty, binding); dataTemplate.VisualTree = textElement;
VS2012tteいつ出るんだ? win8の後? win8は9月より後らしいけどその前に出さないかな?
29日にWin8と同時にカスタマープレビューだが 製品は分からんね
metroアプリ量産してがっぽり稼ぎたい
乗るしかない、このビッグウェーブに
末端開発者が乗り気でも、ユーザーましてやPCメーカーがついてこないとな
こんどのベータでどれぐらいWPF→METROの移植性あるか分かりそうだから 気合入れるか
小遣い程度稼げるなら頑張るよw まあ無理だろうけどw
100円ぐらいのアプリを月に100本ダウンロードされるだけでいいんだけどなあ
>>472 ねえよそんなもん
ベタ移植できたところでそんなのタッチUIで使い物にならん
BMI計算機でも作るか
Blend5も出るんだよな?
ツール作りたいんだけどFormsに比べて難しすぎる・・・。 DockPanelも自前でがんばれって事なのか。
ちょっと聞きたいんだけど、WindowsFormsで普通に組んでて、 部分的にWPFのGUI作ってHostでForms上に表示する場合って テーマで見た目を変えることって不可能?
普通にできるけど
UserControlだとApplyThemeないけど出来たっけ?
Style使えばいいでしょ
ストリーム上の画像を表示しようとしています BitmapDecoder decoder = BitmapDecoder.Create(_memory, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad); BitmapSource source = decoder.Frames[0]; _image.Source = source; て感じでやろうとしてるんだけど、PNGとかGIFは表示できてるのにJPEGだけFileFormatExceptionが出て何故かデコードできない これ分かる人いますか?
IgnoreColorProfile試してからもう一回来てくれ
485 :
483 :2012/02/28(火) 00:41:58.89
まだ原因は分かってないけど
>>483 以前の問題によるもののようです
ちゃんと確かめずに書き込んですまん
共通部分のコントロール分離して整理していったら XAMLファイルガンガン増えるんだけどそんなもん?
全部MainWindow.XAMLに詰め込んでBlendでグリグリ弄るのが流儀だと思てた
流儀が確立されるほど流行ってないとか言ったら怒られますか?
MSのサンプルもそれぞれ手法違うしな
csファイルと同じなんじゃないの
blend5きてないじゃん
コントロールが重なっていた場合、表示順位が上か下かをcsで設定するにはどうすればいいですか?
493 :
デフォルトの名無しさん :2012/03/01(木) 07:07:29.69
WPFでつくたアプリケーションは同じ機能のWindoes.Formsのアプリケーションと比べて、 実行時に10倍以上のメモリを食いつぶすことが判明した。 Windoes.Formsでは絶対に作れないアプリケーションでないと、 WPFでアプリケーションを作ることはコスト的に割が合わないだろう。
Visual Studio 11 はXP切り捨てか
2010のIDEはGDI部分多かったが今回どんなもんかな
ごく一部にアニメーションが入って ちょっとおしゃれになってる
win8にコマンドって用語が増えた やっぱり.netチームと仲が悪いんだな
XMLで、依存プロパティとかいうの書くのかなり長ったらしかったけど C#5.0で短くなったりしないかな
ProでもBlend5 for Visual Studio付いてきてるぞ
WPFもせっかくVSで結構良い仕事してるんだから VSで使われてるツリービューとかシェルとかダイアログとかのコンポーネントを提供してほしいわ MSだけがWPF開発のノウハウ蓄えてもなあ
今回Toolkit統合なしか
System.Windows.Controls.Panelを継承した自前クラスを用意して そこに対してDirectXでのレンダリングを行いたいです。 System.Windows.Interop.HwndSource.FromVisual(this) ってやるとこのコントロールを貼り付けた親のウィンドウハンドルになってしまうのだけど このコントロール自身のハンドルってWPFじゃ取得不可能?
WPFのコントロールにハンドルは無い Direct3D使いたいんだったらD3DImageというものがあるので第一に検討する どうしてもハンドル取ってWindowsのコントロールに直接描画したいならWindowsFormsHost
VS2010でWin8のスタートに表示するタイル作る方法ある?
多分インストール時にプログラムメニューに入れれば追加されるんじゃないかな 古いアプリも追加されてるし ちなみにVS11でMetroアプリの場合はサンプルをビルドするだけで追加されたちょっとうざい
>>507 アイコンは表示されるけど、自分でデザインしたタイルを表示させたい場合はどうすればいいんだろ?
win8 SDK使えばいい VS11必須だろうけど
>>509 VS2010 だとだめか・・・ありがとです。
WPFは・・・
何で同じアセンブリじゃXmlnsDefinition使えないんだ
winrtは同じxamlだろっていじりはじめるとひどい目に遭う 1)名前空間が違う 2)非同期処理じゃないと許さないよ
名前空間はウザイけど非同期はどうでもいいや どうせVS2010ではやらないし
.NET4.5系の非同期はasync使うんだぞ ジェネリックやLINQどころではなくたぶん今までのC#の歴史の中で最もインパクトの大きい変化
xamlって名前空間分けた自前クラス使うと宣言面倒なんだけど どうやるのが推奨なの?
先頭でエイリアスを指定する
ListBoxItemを取得しようとしてて以下でitemがnullになるんだけど何が悪いんだろうか ListBox box = new ListBox(); int index = box.Items.Add("0"); ListBoxItem item = (ListBoxItem)box.ItemContainerGenerator.ContainerFromIndex(index);
まだ生成されてないから Visual要素だから実際に表示されるまで生成されないです
生成されたときに何かしたいんならItemContainerGeneratorを実装する
523 :
517 :2012/03/03(土) 11:45:59.20
>>518 こんな感じでズラズラ書くしかないのか
xmlns:a="clr-namespace:Company.Util"
xmlns:a="clr-namespace:Company.Util.Math"
xmlns:a="clr-namespace:Company.Views"
xmlns:a="clr-namespace:Company.Views.Foo"
524 :
517 :2012/03/03(土) 11:46:48.55
訂正 xmlns:u="clr-namespace:Company.Util" xmlns:um="clr-namespace:Company.Util.Math" xmlns:v="clr-namespace:Company.Views" xmlns:vf="clr-namespace:Company.Views.Foo"
もう面倒だから全部フラットなネームスペースに入れてしまえ。
Blend的にディレクトリ分けても名前空間分けないのが推奨だと思う
先頭じゃないとこで書いたら名前空間追加する?くらいのリファクタリングしてくれればいいのに。
Blendなら勝手にやってくれるしXAMLも見ないから気にしない
ズラズラ書くズラ
ズ、ズ、ズ、ズラちゃうわ
Views, Models, ViewModelsだけは 作ってるMVVMサンプル多いからそこからフラットにしてるな
Blend無しでWPFやるのは無駄 Blendで名前空間分けるの無駄
metroアプリ作ってるけどWPFより難しいなw 新しい概念が増えすぎ 真面目に作りこんだら1.5倍ぐらい時間がかかるなこれ
Blend使ってない奴多いんだな
Blend2は激安だったのに値上げしすぎだろ 2万で買えれば未だ普及するだろうが
テンプレートをリソースに書き出す時に VSとblendじゃ書き出す内容が違うから困る
Blend使うんならVSのデザイナは一切使わないようにするだろ ときどきおかしくなる
Blend単体で売ってないしね 余計なもの色々ついたStudio買うしかないし
なんでこんな環境になってるんだろう
Blendは完全にXAMLお絵かきに特化して、開発支援はVSに統合するべきだったな 開発者にしか使えないデザインツールw
どーせ開発者にしか使えないんだからVSに統合してよぉ〜
え・・・ 統合されたらVSもあんなに重くなるの?
Blendって使ったこと無いんだけど、WPFに限ればVSよりもBlendのほうがいいの?VSなしでも十分?
リファレンスマニュアルよりBlenの出力するXAMLが最新だから 仮想マシンとか予備マシンに評価版を入れて確認する際には使うけど 基本はVSでも十分だな・・・
Blendの売り方を間違えている点が、XAML普及の足かせになっているという意見には同意するわ。
Blend使うとXAMLの勉強になる。 後、StoryboardとかControlTemplateとか作るときはBlendがないとだるい。
MVVMも本末転倒だよな 本来WPFはデザイナとプログラマの分業がコンセプトだったはずで それならMVVMなんて使わないでデザイナは必要なコントロールを配置して決まった名前付けて プログラマがコードビハインド書く方がデザイナの負担が少なくてうまく分業できるわな
コードビハインドなんて使わんけどな ctor { event += (sender,e)=>{ ごにょごにょ }; } で終わり
VS11でBlend周りの状況変化あるの?
メトロがやばすぎてXAML巻き込んで死にそう
>>551 マウスじゃあフィーリングはわからんよ
タッチ特化のタブでやればまた変わると思うよ
>>552 タブレットでやってみたよ、
まあ操作側はメトロ特化ならいいけど
それとは別に開発環境が不味いと思う
なげっぱすぎ
WPFってWinFormsと方向一緒だから無茶なもの作られないけど これますますXAML迷走しそう
555 :
デフォルトの名無しさん :2012/03/03(土) 23:51:53.44
まあobjective-c覚えるよりはマシなのかもしれないが 後だしなのが辛いよね・・・
適応できる奴だけ適応してマーケットやるだろうから大丈夫 お前らにまで強要してるか?してないだろ
自分が付いて行っても人集まらなかったら終わるだろ
新天地で討ち死にする奴を笑って見てればいいだろ 開拓民なんてそんなもんだ Metroが死のうがどうにもならん
設計思想は嫌いじゃないんだけどなあ いまいち受けが悪いよね MSだから?
今までおまけだったものがやっとコアになれたわけで。 Metroが死ぬわけないじゃん。
新しいものの受けが悪いのはいつものことじゃん お前らUI作るときなるべく踏襲するだろ ロジックだってそうだろ 何のためにパターンを生み出すんだ 踏襲するためだろ
また何か出たよ これ覚えなきゃならないの? 工数どのくらいかかりそう? その金は誰が払うの?MS? 作りっぱなしで後はうまく使えよって? ほんと碌なことせんな
とりあえずWin8にはWPF用の新OSとしても頑張ってほしい
もう全滅でもなんでもしろよアハハ
wpfをデータバインディング手法に固定してmetro作法で縛ったようなもの C#ができて、XAMLがかけて、WPFでバインドができて、metro作法理解して ってステップアップしていかないと到底太刀打ちできないだろうな
使ってみた感じどうと言うことも無さそうだけど 移行するかどうかは別問題だわ
INotifyPropertyChangedの実装方法をなんとかしてくれない限り、 あんまり使いたく無いなあ
568 :
デフォルトの名無しさん :2012/03/04(日) 06:55:05.41
ほとんど定型なのに毎回書くのはきついよね
ベースクラス作ってスニペットで一発やろ onpropertyに細工してバリデーションしたり属性いれたり楽しいで
570 :
デフォルトの名無しさん :2012/03/04(日) 08:21:24.77
WPFのプログラミングはそれ以前のプログラムの定石を知らないと、作れない。 基本的に親子間のコントロールの情報のやり取りのシステムは、これからも同じロジックが存続する。 XAMLより徹底的にコードにこだわるほうが、プログラミングを楽にさせる。 データテンプレートもコードで作った。 私のWPFのメインフォームのXAMLにはWindow以外のタグは存在しない。
>>569 そういうふうに実装方法がそれぞれの工夫になってて、
統一されてないのも嫌なんだよね
あと、大規模なデーターアクセスになると糞重いし、
言語仕様に組み込んで高速化して欲しい
また1万件か もうプログラムやめろよ
>>572 お前は、おもちゃみたいなプログラムしか作った事無いんだろうなー
Win8はブビ6を完全に抹消なのか。
575 :
デフォルトの名無しさん :2012/03/04(日) 08:53:52.66
>>574 そりゃ・・・
.net系はMSの戦略
C/C++は言うまでもなく
といろいろ見ていくと
VB6ほど中途半端な言語はない
VB.netあるしw
>>571 .NET Frameworkが出たときは、こんな糞遅いもんが使えるかと思ったが
数年で何の問題も無くなった。
今じゃVSのIDEがないと何もでけんw
>>575 その中途半端な言語で今でも膨大な業務アプリが動いている訳で。
>>577 排除されるのはあくまでWinRTの話じゃないの?
従来のアプリ開発は好きにして状態でしょ
試しに番組表アプリ作ってみた事あるけど、 1000件程度のデーターロードだけでもかなり重いのだが・・・ アプリ立ち上がり時間の使い勝手を考えると、遅延ロードにせざる追えなくて、 ますます遅くなるw バインディング止めて普通のクラスにしたら一瞬だったし
>>578 Win8のWin32環境ではもうVB6のランタイムの動作保証をしないと言う話。
個人的にはVB6の絶滅を激しく希望するが。
4.5のWPFはどうなん
582 :
デフォルトの名無しさん :2012/03/04(日) 10:41:23.36
>>580 そうなのか
まあ仮想マシンにXPでも入れて動かせって話だな
さすがにVB6アプリをいつまでも相手してられん
XP modeは割と上手く行ったんだから レガシーアプリはあの方式でいいだろ
>>581 最悪だった仮想化されたリストビューのスクロール性能が若干良くなった
async使ったらGUIのデッドロック発生源になりそうな気もするんだけど どうなのかな?
MSの古いOSでサポートしない新技術が当たった試しがない メトロはこけるよ
技術的に過去の全てをサポートするなんて不可能なんだから、今後は意識も変わっていくだろう スマートフォンのおかげで一般人にもある種の「諦め」が身に付くようになるよ
マーケットで作者に物凄い恨み節書き込んでる奴いるじゃん サポートしないと流行らないってのはあれと同じだよね 第三者視点か本人視点かの違いだけ
従来型のアプリケーション切り捨てる訳じゃないのにハヤラナイーハヤラナイー言われてもな。 流行らなくてもいいだろ。で?としか言いようがない。 ARM版はMetroオンリーとか言ってるけどどうでもいいよね。 WP7のあの状況見るに「へぇ、まだやる気なんだ(笑)」って感じだし。 さっさと自らを出棺した方がいいんじゃね。 MSは葬儀屋も始めたんだろう?
むしろコケた方が今までのノウハウ使い続けられて歓迎されるべきなのに 何で流行らない心配してるんだ
オフコンなんて数十年前のCOBOLアプリがまんま動くが廃れたぞwww
>>585 GUIのデッドロックがどうゆうものなのかイメージできない。
触りも調べもせずにあーだこーだとか パソコン大先生と同じレベルじゃんね 流行るかどうか金になるかどうかは別として wpf理解してるならメトロはハードル高くない ちゃんと理解してるならな ilspyで中覗いたこともないようなやつはダメだ
技術的にはもうこれ以上何一つ新しくしたくないけど 環境の更新は今の技術屋のご飯の種でもあるジレンマ
Flexみたいに[Bindable]つけて 簡単にINotifyPropertyChangedを実装できるようにならないのかにぃ>VS11
[Bindable]か ありゃいいよね
しっかしWPFの本がぜんぜんないな。。 XAMLプログラミングて再販ならんのかね?
macのココアとMONOの連携で[Bindable]が使えたような気がする 本家のほうが負けてる
WeakEventManagerもどうにかならんもんか。 イベント毎にManager作るのアホらしい
流行るかどうか金になるかどうか以前にやらなきゃならないことやってないよな この環境w
だからおまえらダメなんだよ プロパティsetされたときに追加処理いれるのが普通なのにそれすら知らない
さらに、このプロパティに対する通常のアクセスに使用される通常のプロパティ (CLR プロパティとも呼ばれる) を定義する必要があります。 public Brush SwirlyBrush { set { SetValue(SwirlyBrushProperty, value); } get { return (Brush) GetValue(SwirlyBrushProperty); } } SetValue メソッドと GetValue メソッドは DependencyObject によって定義されます。 そのため、依存関係プロパティを定義するすべてのクラスが DependencyObject クラスから派生していることが必要です。 CLR プロパティには、この 2 つのメソッドへの呼び出し以外のコードを含めないでください。 CLR プロパティは、しばしば依存関係プロパティによって "サポート" されると言われます。 依存関係プロパティの方ではプロパティ内に処理書くなって言っておいて 普通のプロパティには書くのが普通と 一貫性が無くてとても面白いね
少なくとも { get; set; } がある時点で追加処理が普通って意見は受け入れがたいな。 無いから省略表記ができたんだろ。
>>602 それって
>>601 へのレス?
依存関係プロパティの利便性のために定義されるCLRプロパティと、普通のプロパティでは役割が違うよ。
その「同じセマンティクスで違う役割」っておよそ最悪な仕様の一つだよね。
少なくともMSが用意したメトロテンプレはプロパティ内で処理してカプセル化してる 別に我流通したいなら通せばいいけど まあ笑われるだけだね。なんのためのプロパティなんだそれじゃフィールドでいいじゃん的に。
あれ・・・WPFのTreeViewってXAML書かないとインデントも変更できないのか・・・ google先生も教えてくれないしお高いツールありきか・・・。
609 :
デフォルトの名無しさん :2012/03/05(月) 12:41:16.37
仮想マシン上にwint評価版ぶっこんでBlend評価版ぶっこんで ほしいXAMLはかせればいいじゃん
wint・・・x win7・・・◎
Intelのオンボードグラフィックだとマルチモニタ環境で WPFの動画再生のスレッドが停止するんだけど解決策はないですか? MediaElementでビデオを流すと、GUIは生きてるがMediaLoadedイベントが発生しなくなる。 メインディスプレイだとなんともないけどサブのほうだと再現率100%。 メイン:HDMI サブ:アナログ
mp4のときだけ起きるからコーデック依存の現象かも。。 でも他のWMP等のプレーヤーだとなんともないんだよな……
メインとサブを入れ換えてみたらサブにしたHDMIでも発動したから やっぱドライバが糞なんだな。。
614 :
デフォルトの名無しさん :2012/03/06(火) 06:02:01.77
読者がいないからと言って自分のblogを貼るのはやめたまえ
MVVMで質問です。 例えばレタッチソフトで画像にフィルタをかける等の時間のかかる処理を行う場合 UIを止めないよう非同期処理をすると思うのですが Modelが非同期メソッドを用意するのか ViewModelがTask等を使ってModelのメソッドを非同期で呼び出すのか どのようにすべきでしょうか?
Mがスレッドセーフでないなら非同期で保護してやるのはVMの役目なんじゃないの MがスレッドセーフならVMはMのステータスみてVに指示するだけじゃないの
619 :
デフォルトの名無しさん :2012/03/07(水) 05:24:12.68
WPFは新テクノロジーなので、知識を集めないとどうにも先に進めない。 TextBoxのChangedイベントからつまずいたが、次のことも判明した。 WPFのTextBoxは、テキストボックス内で選択された範囲を常に表示させておく、 HideSelection = false が使えなくなっている。 WPFのテキストボックスで、これを実現するにはTextBoxのLostFocusイベントを処理に 、 e.Handled = true; と記述しなければならない。
FocusManager.IsFocusScopeを使うんやで
>>616 だけど、「こんどはScrubbingEnabledをtrueにしておくと音声だけのファイルがロードされないことがある」
という件にはめられて1日つぶしたわ
こういう罠があとどれだけ仕掛けられてるのか……
性能面での罠も沢山仕掛けられてるでぇ〜 WinRTだと罠付きの機能が削除されてたりするので デスクトップ版のWinRTに期待した方がいいかもしれんね
知っていたらボスケテ WPFのDataGrid 列ヘッダクリックでソート機能があるけどソートの比較条件を自分で用意してソートさせるにはどうすればいいの? ソート機能切ってマウスクリックと座標取得して表示基のコレクション自分でソートして再表示ようかとも思ったんだけど ソート機能切ると列ヘッダがクリッカブルじゃなくなるし△▽のマークとかもないので微妙
624 :
デフォルトの名無しさん :2012/03/08(木) 01:29:35.27
StyleってCSSみたいにGrid配下のTextBox全体に適用とかって無理なのか
全体指定は基礎だからもっと勉強してね
Blendなんて60日の試用版DLして60日たったらOSリカバリでもう一回いれりゃいいだけ
仮想PC上で実行するのもめんどくさい
WinRTスレの次スレ何処?(`・ω・´)
仮想PC上でblend動かしてたけど 長時間つかってると重たくなってくるのに耐えられなくなったから買ったよ・・・
Styleは親の要素のリソースを順に検索するような感じに動くので対象のGridのリソースに入れればその配下のTextBoxに適用できる。 Styleのリソースから適用もできるのでGridのStyleのリソースにTextBoxのStyleを入れるといい。
これからはMVPVMだよな MVVMで無理していたのは何だったのか…
MVPVMが浸透したらMVVMは単純な場合以外使われなくなる 直観的だし他言語からの移行が楽
勉強会なぞ行かん!わしゃ、僻地に住んでおる。 そんな訳で、持っている人、ウプお願い!
というか、MVPVMとか、そんなに良いものなの? ドラスティックに変わるとは、本文からは思えなかったけれど。 どちらにしても、VSの標準としてライブラリが組み込まれ、 自動生成のサポートも標準にならない限り、流行らないんじゃないの? VS11のβでも、その辺りに変化はないんでしょ? みんな、Prism派?MvvmToolkit派?
いつもの人が偉そうなこと行ってるだけじゃん 全くデメリットが合理的に説明できてないし
ほとんどすべてMVPVMになるんじゃないの? 事実上のアプリケーションというかプログラムがP層になると曲解(笑)してるんだけど 違うのかなw Pはマスタースレーブで言えばスレーブ VとVMののりしろ メッセージのブロードバンドじゃなくスイッチングハブのような動作も可能 ただMVVMのようにきつい縛りが無くなるから
ただMVVMのようにきつい縛りが無くなるからデタラメなコードを書くことも可能 その部分がMVVM派の人には受けないだろうね
Vに無理やり書いてたコードがPに行くってことでいいんだろうか? よくわかんね
何度読んでもよくわからない Vだけでダイアログ出したりメッセージボックス出したりとか トリッキーなことをしなくてよくなるのかな 普通にVがボタン押されたよとPに通知したら PがVにダイアログ出してねって通知するようになるのかな
XAMLのビヘイビアで書いてたクソみたいなスクリプトもどきを普通に書けるっていうのが一番だな
そもそもダイアログを出すのって誰の責任だ? V じゃなきゃ、P か VM でいいんじゃね? P が V にダイアログ出してねって通知するのも何かおかしいと思う。
ビヘイビアで思い出したけど VS11 betaについてたblend for VSでアセットにビヘイビアなかったけど 違うところに移動したのかな それとも別のSDK入れないといけないのかな スレ汚し&不勉強でごめんね
ただ、実際プログラミングしてて、V に画面移動やダイアログ表示押し付けてると MVVMに準拠してるかどうか別として VMのコード量減って全体の見通しが少しよくなるのは事実。
それをPに押し出せ
いままで疎を意識してやわやわVMやVに書いていたことを 密にしてPに書き出せってことだろ
>>650 どうやって?コードビハインドにしろと?
>>652 PとV、PとVMは密結合だからなんでもあり
モデルもコントロール直接触り放題
Pクラス作ってVとVM握ってメッセージ受け取って判断してメッセージ送れ
winformsやjavaから移住者が増える
>>654 P ってある意味 V と VM の Mediator と考えてOK?
InteractionMessageとかビヘイビアとか大嫌いだから歓迎するわ
658 :
642 :2012/03/09(金) 12:00:00.90
Pはイベントドリブン型アプリケーションのコアじゃないの?
ああわかった!MVPVMパターンって、 ・M (Model) ・V (View) ・VM (ViewModel) の存在は認めたうえで、 仮にコードビハインドを P とすると P も遠慮なくどんどん使っていいんだよ! ってことなのかな?
でも WPF の設計ってバインド指向でイベントの挙動は穴ありまくりだろ。 ugaya40 の指摘するメモリリークはよく知られてるけど それ以外でも Forms じゃあり得ない挙動するイベント多いからな
MVVMを否定する人は多いだろうけどMVPVMを否定する人は少ないとおもう
>>661 それ以前にMVVM判ってる奴自体少ないと思うぞ。
ましてMVPVM知ってる奴はほとんどおらんだろw
Metro踏まえてまた変わるんじゃねえの
>>660 お前そればっかりだな
MVPVMはコマンド->VMをスルー->Pだから別にそこはMVVMと変わらん
だいたいビヘイビアはイベントベースだ
メモリリークはただのV上の制御できないアイテムを 別のところに登録していることが問題じゃないの?
Pはコントロールよりも確実に寿命が長いんだから 一時的なコントロールにPのイベントハンドラ突っ込んでもメモリリークの原因にはならん メモリリークが問題になるのは寿命の長いVMやMからVに通知する場合だけど、 MVPVMの場合はVM経由でバインディングするからMVVMで問題ないというならMVPVMでも問題ない
> MVPVMはコマンド->VMをスルー->Pだから別にそこはMVVMと変わらん ここがいみふなんですが?
>>660 > Pはコントロールよりも確実に寿命が長いんだから
これって言い切っちゃっていいの?
Pはアプリケーション自身だと思うからそれより長い寿命ってないんじゃない?
そもそも MVPVM 議論しようにもまだ情報が足りな過ぎるよね? MSDNのサンプルもダウンロードできないし、どうにも P が理解できない。
みんな分かってなさそうで安心したw
議論しなくてもただそのようにコード書けばいいんじゃないかなあ 問題があれば報告してね
実際楽にはなると思うよ 変なパターン覚えなくてもいいし
Pとコードビハインドは同じじゃないと思うよ そのような役割もあるけど別物じゃないの?
V → VM → M の流れで V → VM 間の操作でめんどくさそうなとこを V <-> P <-> VM → M で実装すればいいだけだと思うんだが、これだとMSDNともMさんとも解釈違うよね? あ・・・ VPVMM パターンならうまくいくのか!w
どっちかというと特定のVと特定のVMに依存した使い捨てのビヘイビアみたいなもん
あくまで
>>634 の例ではだけど
結論。 サンプルないと誰もわからんwww
アプリケーションはもともと使い捨てだと思うが…
Livetがただのコードスニペット集になる
>>680 M氏のダイアグラムを搭載できたらいいのにねw
>>682 いや、V - VM 間の連携を実装で補完してるだけだから、PassiveView とは言えんと思うが。
とりあえずVMを再利用し易いように アプリ固有のコードをPに押し出すということにしておくわ・・・
どういうのが正しいPか知らないけど 今後Pは使ってみるわ
> どういうのが正しいPか知らないけど それってパターンとは言えんよなぁ・・・・
じゃあここまでに出たパターンを仮にVM2Pとして使うことにしよう もしかするとVM2P=MVPVMかもしれないけど
だれか、サンプル持って無いの? あるいは、MSの中の人、居ないの?
>>634 のソース
MSDNマガジンの方はたぶんその抜粋
ぐぐったら.ugaya40産のつぶやきが >デメリットは、結局バインディングとPrensenterからの操作の場合分けをどうするのか悩まなければならない 悩むほどの事かな プロパティの表示など単純な場合はバインディングで 複数の要素が絡む場合や状態変化やVMやVに遡及しないばやいは Pから操作でいいんじゃないの?
本人に言えよw
彼はコードビハインドに親を殺されたんだよ
本人もたまにこっそり降臨してるだろ。 他の大御所連中もみな覗いてると思うがw
さすがに覗いてないと思うよ 名無しの書き込み見るメリットない
いや、見てるんじゃないかな? そりゃ、2chなんて、ロリ、ヲタ、プー、ちびデブ禿、低学歴低所得のスクツだよ? でも、実際のところ、リアル社会においても、 劣等人種の存在比率は、2chとあまり変わらない。 まして、下らない書き込みはスルーすれば良いだけの2chは、 効率の良い情報収集方法だよ。 これが、リアルの勉強会なら、劣等人種の質問でもスルー出来ないからな。
2ちゃんじゃ議論にならんからなあ 読むだけ疲れるでしょ。
せめてIDぐらい出てればこの一連の流れも無かったことにできるのだが
リアルだって、議論になんてならないでしょ。 知識、背景、肩書、学歴、所得とか一致しないと議論にならないよ。
>>699 議論するのに知識、背景が必要なのは認めるが、後の三つは関係ないだろw
背景に含まれると言った方が正確かな
ModelとViewModelの対応って1対1なの? ViewModelが複数のModelを持ったりするもんなの?
MVPVMだと・・・ MVVMをよく分かってないのに次がでてくるとは日曜プログラマーなおじさまは大変だ
ええねんええねん モノもってこいやモノを
>>638 Pの責務が強すぎて、簡単にカオス化する可能性があるので、MVVMのほうが好き。
>>706 でも MVVM だと、VMの責務が重すぎてコードが肥大化する傾向がある。
コマンドその他を プレゼンターに分離した方がすっきりしないか?
疎結合のために無駄に費やした時間を取り戻せw
正直コマンドとコードビハインドで登録するイベントハンドラの違いが分かっていない。 コマンドだと何が嬉しいん?CanExecute使えるくらいくらい?
>>709 ユニットテストフレームワークに食わせ安くなる。
実際、metro styleのUI要素はテストコード内でインスタンス化できないから、コマンド必須。
>>709 元々の主目的は、デザイナーが弄るBlendで作るViewからコードを追い出すってコンセプトだったもんな
それが無理になった今、テストがやりやすい程度のアドバンテージしかないが
それもハンドラに直接書かずにワンクッション置けば問題無いシナ
>>707 UIをUserControlで部品化し、その単位でView Model作っているので、今のところVMの肥大化では困ってないです。
業務系のように入力項目が増えると、また違う考えになるかもしれないです。
プロパティにはnotifyが必要でしょ? じゃあnotifychanged用にベースクラス作ってまとめましょうってなると datacontextに入れたほうがいいよねってことになる バリデーションも通るからすごく楽になる ベースクラスに準備してればね 全部バインドにまとめるとトリガーとかめんどくせぇなぁってなるから this.rootGridとかビハインドで書いちゃうけど 全部ビハインドはさすがに非効率すぎる
MVVMに関するドキュメントで、初心者向きじゃ無いとか言っているものがあるけど。 それ、違うから。 単に推敲が足りずに構成が悪く、思いだけあふれていて、肝心の伝えたいことが伝わらない資料になっているだけだから。
>>714 おつかれさまです。思いはよく伝わりましたw
今日のプレゼンustで見てますんで頑張ってくださいね♪
VS11でインフラ改善されてないの?
なぜ自分で調べてみないのか
今日は異端審問会議やってるのか?
719 :
デフォルトの名無しさん :2012/03/10(土) 19:41:59.24
Ust見た。さらにツィートも合わせて分析すると MVPVMパターンのプレゼンターは、ナビゲーション(画面遷移やダイアログの表示)などを担当し、VieWとViewModel間の疎結合を推進します。 だそうだ。
Pがダイアログ表示するならPにフレームワーク依存コードが残っちゃうね
MVPVMのPは再利用を考えないでVにべったり依存するよ コントロールを直接触る
アンパンマンの頭変えるようにフレームワークごとにVだけスコーンと変えられないの?
でもよくよく考えたらVだけ変えても意味ないね .netコンパクトと.netでできることが違いすぎたし
複数環境やテスト用に V を取り替えたいなら、 P から触る部分をインターフェイスとして定義して、xmal.cs の分離クラスやアダプタで実装すれば良いよ。
>>724 それやるんだったらP分けないでVのコードビハインドに書いちゃえばいいと思う
そうしないのはコードビハインドからのVMへのアクセスを避けるためだろ
Vの特定のVMの型への依存をPに追い出すことで
Vに対してVMを差し替えてバインディングのテストができる
俺はMSが舵取りするまで動かん
Pはかじ取りするまでもないだろ 1個クラス作って中にメッセージ用のメソッド作るだけ
具体例くれ
昨日のとは違うって話じゃないの?
40歳が泥酔して仕事用マシン失くして、大変そう
>>730 参考にはなるよ。
P はクラス名で探せばコーディング例は判る筈
P に処理を任せてる分 V と VM 間を祖結合にしてる
ViewModel を共通ライブラリにおいて、WPF・SL・Phone で使いまわしてる。
エクスプローラみたいに任意の項目でソートできるようにするには VMがCollectionViewSource.GetDefaultViewで得たコレクションビューと ソートコマンドを公開すればいいの? それともビュー側がやるべき事?
Pの仕事
735 :
733 :2012/03/12(月) 16:20:23.57
あ、MVVMでの話でお願いします。
Pの仕事言うのは冗談です
プレゼンターさん!バインドですよ!バインド!
P は Producer の略だということを皆知らな過ぎる
>>705 これ、Formsの話やんけ!WPF版持ってこいや!
WPFは死んだ技術
死んだのはおまえのPGとしての寿命じゃね
WPF Ribbon試してみたんだけど コントロール上のコンテキストメニュー(「Add to Quick Access Toolbar」とか)を 日本語化する方法がわからない・・・ どの解説記事もこの点をスルーしていて参考にならず
色々不具合あるからソース落として書き換えちまえ
>リボンのローカライズ >ソースを展開、ExceptionStringTable.txtをコピーしてExceptionStringTable.ja.txtを作る >Ribbon.Compilation.targetsをテキストで開いて こんなメモ残してたわ
Ribbonアプリケーションアイコンを[ファイル]表記にする修正が上手くいかん VS11でもそのままだし
了解した
System.Printing.PrintTicketを使いたいんのですが、 System.PrintingではなくReachFramework.dllとあったので、 参照設定にReachFrameworkも追加したのですが、 usingで出てこない・・・ 設定ミスとか抜けている点があれば、指摘よろしくお願いします。
usingで出てこない、とは? System.Printing.PrintTicketと書いて色は変わる?
>>749 あ、ってっきり usingに宣言するものだと思ってました。
ソースに書いたら水色に変わりますね。
ありがとうございました。
namespace が System.Printing で PrintTicketは型名だかんね。 usingするなら using System.Printing;
752 :
デフォルトの名無しさん :2012/03/15(木) 20:36:23.47
LINK文で取得した結果をvarにつめてる場合って、どうやってnullチェックするんだろうか・・・。
?
スレチだけど
WPFは終了です マイクロソフト先生の次回作にご期待下さい
終了したのはおまえのPGとしての寿命じゃね
64bitアプリと同様、WPFは普及しない。 開発者の都合なんかどうでもよくて、多くのユーザにとってはデメリットでしかないからな。
64bitアプリが普及しないなんて妄想甚だしいなw どうせまともな開発者ではないだろうと思っていたが、妄想癖まであるとは。
>>757 おまえがそう思ってる大半のソフトはwin7にすら対応してねぇよ
win7対応の方法も何が変わるかも知らないとかいうんじゃないだろうな
現に普及してない。 XP、Vistax86、7x86で動かない上に、ほとんどのアプリは2GBの壁にぶつからない以上、 開発者が32bit版と64bit版を用意することは稀。 ほんと現実が見えてないな、おまえ。
Vistaで動いて7で動かないソフトなんてあるのかと。
それがどうWPFと関係するんだよw
キラーアプリ作れない開発者がユーザを切り捨てる勇気などないということ。
まだ32bitアプリなんて使ってるの?キャハハハハ
64bitアプリ開発はいいなぁ、テスト工程少なくてw
ターゲットx64にしてるアホなんているのかよw
VB6が普及しなかったって言うようなもん
なるほど。VB6使いがWPF使ってるわけだな。
>>768 なんかさ、ケチ付けるのが目的になって煽りがちょっとズレてるよ。
褒めてるつもりだったんだが誤解されたようだ。
本当に知らないんだな vs2010のテンプレのままじゃvista用アプリになるんだぜ? リソースモニターから「OSのコンテキスト」を表示させてみ だから終わってるのはおまえのPGとしての寿命だっていってるんだよ
おれはまだvs2008だからな。w2kバイナリ切るとかおまえら鬼だな。
>>771 それ言うとWin7に最初っから入ってるやつにもVistaになってるのが…
>>771 え?あれがVistaだと7非対応アプリになると思ってるの?
こりゃダメだ。
なんか古いOSを切り捨てるのを進んだPGだと思ってる馬鹿がいるな。 マカーかな?
XP対応だって大変なのに、win2kとか勘弁してください。
Vist/7あたりからおもしろAPIがたくさん追加されてるのは事実
でもVS2010のテンプレのままだと64bitバイナリになんないよ
さすがにw2kは切り捨てたわw XPも捨てたいけど、それはまだ無理だね。
WPFも捨てたいけど、おまえらが悲しむからな。
捨てたいんじゃなくて使いこなせなかったんだろ。
ナイナイ ここの奴らはWPFを超えるUIフレームワークが出たらすぐに乗り換える
Winformを超えられない件
>>778 64bitが必要なアプリだけ64bitにすればいいんだから当然
それを理解できずに全てのアプリが64bitになる世界と比較して
「64bitは普及していない」とか言っちゃうお馬鹿さんもいるようだけどね
妄想壁でもあるのか? 捏造するな。64bitではなくて、64bitアプリだ。 32bitアプリでOKなものを64bitアプリにするメリットはない。 まだ多くのユーザーを切捨てることになるからな。
ていうか.NETなんだからAnyCPUでいいじゃん。何言っちゃってんの?
>>783 確かにWPFはWinFormsを超えてないが、
WinFormがWPFを超えてるわけでもないからな(要するに一長一短)
デザイナの完成度
個々のコントロールの品質
遅い処理の書きにくさ
起動速度
など、WinFormsの方が上の点はWPFにとって改善してほしい点でもある
>>786 全くNativeDLL使わないのか? おれにはあり得んな。
> 64bitではなくて、64bitアプリだ。 脳内補完した上で意味を良く考えろよ・・・ 64bitが必要なアプリの多くが64bitアプリになったのなら、 64bitアプリが普及したと言えるだろ
>>788 それならx86指定すれば済む話だろ。 常識で考えろよスレタイ読めないお馬鹿さん。
>>789 どんなに良く考えてもそんなステマみたいな補完はおれにはできない。
マカーがよくやってる補完だろ、それ。
WOW64が優秀だから必要なの以外は別に32bitでいいじゃん。 全部64bitじゃないと嫌ってガキかよ。
そもそも一連の流れがスレタイからずれてるな WPFに関連することで言えば VisualStudioのデフォルト設定(2008ならAnyCPU、2010はx86)から変えない方がいい Blendの動きがおかしくなる
>>791 マカーは知らんが、
仕事をしてりゃ客の言うことが一字一句間違ってないなんて
むしろ珍しいと思うがな・・・
一部を補完して意味が通るなら、
「64bitは64bitアプリの意味ですよね?」って確認を入れて話を進めるのは普通だろ
64bitにしても早くならんのに何の目的があって使うんだ?
もう飽きたからWindows板あたりでやれよ
798 :
デフォルトの名無しさん :2012/03/16(金) 17:18:29.56
64bitアプリはユーザーにメリットあるけど WPFはデメリットしかない
そもそもWPFアンチは何で64bit叩きなんて意味不明なことを始めたのだろうか。
こういう奴がWPFを使いこなすようになると 「WinFormsは糞だった」と言うんだよなぁ。 WinFormsの考え方に囚われてるから、WPFのメリットが理解できない。 スマホアプリとか、別プラットフォームも使ってるとこうはならないんだけど。
便利な物を便利に使えばいいよ WPFが使いやすければ使えばいい winformsが使いやすければ使えばいい >WinFormsの考え方に囚われてるから、WPFのメリットが理解できない これはあってるようで間違い winformsが使いやすいから使ってるだけだろ
ポトペタで張り付けてガリガリ書くような使い方で間に合ってるならWinForms使えばいいと思う。 それで問題があるからWPFやってるのに、わざわざ出張してきて騒がれてもねぇ?
> winformsが使いやすいから使ってるだけだろ 反論になってないなぁ WinFormsの常識に囚われた人にとっては、 WinFormsが最高に使いやすいと感じられるって話だよ もちろん、両方を理解した上でWinFormsを選ぶ人だっている事は否定しないよ 確かに、WPFにはメリットを相殺しうるデメリットもある
過去の資産の移行コストが高すぎるからWPFに移行できないんだろう。 Appleみたいにどんどん切れるわけない。
好きな方を使えば良いのになぜ宗教戦争を始めるのか
好きな方を使えば良いで使える奴なんて暇な学生だけだろ。
わざわざ荒らしに来る暇な奴はいるけどな。
WPFに挫折したのだろう。WPFは凡人には使いこなせないからな。
凡人に使いこなせないことはないが、 いったんチャラになるからな。 WinFormsのノウハウ(バッドも含めて)が通用しないからね
学習コストというのは経験がいくらあっても高いからな。 Javaやってたらc#に移りたくはないし、c#やってたらJavaに移りたくないだろう。 MFCからWPFぐらいでないと。
質問させてください。 以下のように、canvas1にジオメトリを追加したのですが、ジオメトリの左位置が取得できません。 どこがマズイのか、識者の方、ご教授ください。 EllipseGeometry ellipseGeometry = new EllipseGeometry(new Point(100, 100), 50, 50); Path path = new Path(); path.Data = ellipseGeometry path.StrokeThickness = numericBold.Value; path.Stroke = Brushes.Black; canvas1.Children.Add(path); double left = Canvas.GetLeft(path); // なぜか50でなく、NaNが返る
pathはStretch次第でジオメトリを引き延ばすんだよ つまりpathの位置は中のジオメトリに何が入っていようが影響されない なぜかと聞くならSetLeftしてないから。そんだけの話 添付プロパティはオーバーライドとかしないし糖衣構文とかじゃない ただの入れ物だから 中に入ってるもの次第で都合よく値が変更されるみたいなことは絶対ない 入れたものが出てくるだけ
Blend操作感微妙に違ってて生産性あがるように思えん
CanvasのMarginのTopだけスライダーとBindingさせたいんですが、どうすればいいですか?
コンバータ書けば?
コンバータ書いても何故かダメだったので素直にイベント処理します
なぜふつうにバインドしない
BackgroundがnullのControlにはドラッグアンドドロップできないのか しばらくハマってしまった これ俺みたいなウンコ初心者には結構罠だな
透明を設定しておけばドラッグできるのにね。 俺もはまったわ。
Display属性とかにOneWayバインディングって出来る?
>>820 依存プロパティなら、できるんじゃないの
そうでなければ、できない
Helper作れ
まもなく、WPFの2chビューワーが出るから安心せい。 WPFの時代がやってくるよ。
824 :
デフォルトの名無しさん :2012/03/19(月) 04:25:52.81
2chの最大1000件の表示に対する部分をどうするのかね? windowsってデスクトップサイズが人それぞれなので面倒だし
はぁ?
もう1366x768フルスクリーン前提でいいだろ Metroみたいに
最低ラインなだけだろ
『平清盛』プロデューサー反日朝鮮人 磯智明(反日・天皇制度廃止論者)のプロデュース作品 @『監査法人 (2008)』反体制・反社会 A『最後の戦犯 (2008)』反日・天皇制度廃止・反体制・反社会 B『リミット -刑事の現場2- (2009)』反体制・反社会 日本放送協会 、、 〒150-8001 東京都渋谷区神南2-2-1 韓国放送公社(KBS) 〒150-0041 東京都渋谷区神南2-2-1NHK東館710-C ←よく痴漢やヤクで捕まるのはここの工作員 テレビが言えない民主党のスポンサー=韓国北朝鮮 あとはもうわかるよな 民主党は朝鮮人だらけ。前科者前原やキムチイオン岡田が平気で嘘を付き、口だけなのもそういう裏があるから。 野田はどうだろうか。韓国人の集いに出席し、韓国人暴力団から賄賂を貰っている野田は
829 :
デフォルトの名無しさん :2012/03/21(水) 06:26:58.59
WPFのプログラムをXAMLに頼らずコードだけで書いていると、将来の姿が見えてきた。 WPFのユーザーインターフェイスはマウスのボタンクリックではなく マウスホイールの回転が主役になると考えられる。 マウスボタンのクリックは意外と骨の折れる作業なのだ。 それに比べ、アイフォンやアイパッドの指で触ったりなぞったりする作業は楽なのだ。 マウスホイールの回転作業はマウスボタンの押下作業よりはるかに楽だ。 マウスホイールを有効に使うには、ホイールが回転された位置にあるコントロールを正確に 識別しなければならなくなるが、識別を可能にするにはVisualTreeHelperクラスを使うしかないだろう。
ホイールしまくると腱鞘炎になるお
ガソリン価格高騰に悲鳴 1L当たり2100ウォン突破
韓国ソウルのガソリンスタンドで販売されている平均ガソリン価格が史上初となる1リットル当たり2100ウォン
(約155円)を突破したと韓国メディアが一斉に報じている。
15日、韓国石油公社が運営する原油価格の情報サイト「オフィスネット」によると、15日午前11時現在、ソウル
の平均ガソリン価格は前日より0.58ウォン値上がりした2100.06ウォンを記録した。ソウルの平均ガソリン
価格が2100ウォンを超えたのは史上初めてだ。
2012/03/16 [16:41]
http://www.krnews.jp/sub_read.html?uid=1152§ion=sc10 韓国人アルバイトの46.8%、「最低賃金ももらっていない」 民衆の声
韓国での労働者のうち、半数近くが最低賃金(韓国は4320ウォン)以下の給料で働かされていることが分かった。
1681人を対象に実施したアンケート調査の結果を発表した。46.8%が最低賃金の時給4320ウォン(約320円)より低い賃金だったと述べた。
賃金のほかにも、勤労基準法違反はさまざまなものがあった。76%が勤労契約書を作成しておらず、
事故が起きた時に守ってもらえなかったと答えた人は 65.9%に達した。
また、56.7%が「雇用主から一方的に勤労条件を変更させられた」と答え、「賃金未払いおよび削減」のケースは 26%に達した。
セクハラや身体的な暴力を含む人格冒涜を経験した人は30.9%に達し、
また不当な待遇を受けた時は誰かに助けを求めたケースはたったの7.7%だった。
www.vop.co.kr/A00000412011.html
「ゲームでもないのに独自テーマを作るな」ってガイドラインにも書いてあるんだけどなぁ おまえらが思い思いに作った、アプリごとにてんでばらばらなUIなんて使いたくないよ 頼むよ
WPFは独自テーマ使うのが普通でしょ むしろ使ってないの見たことないぞ 使わないとWinForms以上に貧相な見た目になる
> 使わないとWinForms以上に貧相な見た目になる WinFormsで十分な事をWPFでやろうとするとそうなる。 使い勝手重視でコントロールをカスタマイズする段階になると、 むしろ余計な装飾は邪魔だって気づくようになるよ。 カスタマイズが不要なシンプルなアプリで テーマの為にWPFを使うってのも悪くはないけどね。
ソフトの見た目っつーかL&Fを変えるのはよくないよね たとえば メトロとかメトロとかメトロとか
> たとえば メトロとかメトロとかメトロとか タブレット端末用としてメトロは悪くないと思うけどなぁ タブレット端末やPOSで、 VB6で作ったような大きなButtonコントロールが 配置されたUIならよく見かけるけど、 あーいうのがお好き? これならL&Fは既存のアプリと大して変わらないけど・・・
デスクトップ用としては、 画面触りまくらないとシャットダウンの方法が分からないのはどうかと思う スタートメニューないし
なんでメトロがデスクトップ用なんだよ池沼
>>837 慣れてきて最近は、チャームメニュー -> 設定 -> 電源っぽいボタンからシャットダウン選ぶ。
windows 8 consumer preview 実質ultimate相当(デスクトップ用)なのに堂々とメトロが占拠している
デスクトップでもタッチスクリーンが増えると踏んでるんだろ x86タブレットもあるし
844 :
デフォルトの名無しさん :2012/03/23(金) 08:56:57.69
CP版にケチつける人がいるとは思わなかった
それはない。既に昔、普及に失敗した。 昔はPCに普通にライトペンIFついてたのに。 腕をディスプレイまで挙げ続けないといかないので腕が攣ってとても使えない。
タッチスクリーンは無いが、タッチパッドは有り
>>844 CP版って要はβだろ。ほっときゃ、そのまま製品になるぜ
そもそも製品版で残すつもりなら スタートメニュー撤去したりしないだろ
製品になるのはRCだろ βそのままってのは滅多にない
最近すれ違いの書き込み多いな
出来る事を出来なくして、これからはこれが理想だからねっ と使い方を強制する で、それで便利になったワケでもなく、単にもともと出来ないヤツに合わされてるだけ
XPのスタートメニューだとマウスをジグザグに動かさなきゃなんないよって お前それスタートメニューが下から上に伸びるのに中の項目が上から下に並ぶせいだろ Appleみたく上に置けば全部が上から下になってマウスもおおむね右下一方向にしか動かん
開発者の暴走を止められるのは 経営者のみ
入れ子のメニューは古い
856 :
デフォルトの名無しさん :2012/03/23(金) 17:01:13.35
またユーザー無視の馬鹿が涌いてる。
ユーザーに選択肢を与えるだけでいいんだがな 問題はその与え方が洗練されているかいないかで大分違うわけで
現行のUIが素晴らしいものだと考えているお前らにびっくりだわ
世界最古の土器 1988年、青森県の大平山元遺跡で見つかった土器が、世界最古の土器という事になっています。 1万6500年前(縄文時代前)のものと言われています。 これは、中国や他の国で発見されているものと比較して、群を抜いて古いものです。 発掘がすすめば、さらに古い土器が発見されるかもしれません。 世界最古の木造建築 奈良の「法隆寺」の建築物群。国宝にも指定されています。 法隆寺は、推古天皇や聖徳太子によって建立されたと言われています。日本最古の木造建築として日本の国宝に指定されているだけでなく、世界最古の木造建築としても認知されています。 また、日本を代表する木材「ヒノキ」で造られており、1993年12月には、日本で初めて世界文化遺産に登録されました。 世界最古の王室 現存する世界で一番長い歴史を有する世界最古の王室「天皇家」 海外では歴史や伝統に重い価値を置いています。 世界での天皇家の地位は絶大です。 世界の権力図を示すとこんな感じ。 天皇陛下≧ローマ法王>英国女王>アメリカ大統領etc>日本国首相etc ローマ教皇と同等かやや上回るか。 世界2トップのうちの一人です。 これは日本の宝として大切にしないといけませんね。
また妄想族か
class A { public enum B { Hoge, Foo } } というクラス内の列挙型があります。 XAML中でA.B.Hogeを指定するにはどう書けばいいのでしょうか? {x:Static local:A.B.Hoge} では「MC3050: 型 'A.B' が見つかりません。型名では大文字と小文字が区別されることに注意してください。」となります。 Bを外に出した場合は、{x:Static local:B.Hoge} で問題なく参照できます。
XAMLってインナークラスもダメなのか
標準ライブラリには入れ子定義無いし 使うなってことだろう
MediaElemetをとりあえず動かすために、再生時間だけを持つ空のメディアファイルみたいなのを 作りたいんですがどうすればいいですか?
空である必要はあるの? パブリックのミュージックあたりにサンプルのmp3が転がってるけど
>>867 例えば再生時間が10時間くらいあってファイル容量はほとんど無いようなファイルを作りたいんです。
そりゃ、スレ違いどころか板違いじゃん
7で新規プロジェクトを作ってそのままビルド 8にコピーして実行→CLR20r3エラー 場所 System.Runtime.Versioning.BinaryCompatibility.ParseFrameworkName 7のライブラリに入ってねーじゃねぇかそれ はぁ
C#(.NEt 4.0) WPFの環境でチェックボックスを使用しているんですが、 チェックボックスにフォーカスがある状態でスペースキー押下のイベントって拾えないんでしょうか? PreviewKeyDownのイベントが発生しなくて。。。
祖先の誰かがPreviewKeyDownか何かをハンドルしてるんだろ
874 :
871 :2012/03/27(火) 23:52:46.60
>872,873 スペースキー以外のキーはイベントが発生するんですよね。 他のハンドラが掴んでることはないと思うんですけど・・・ WPFというよりも、 正確にはWPFユーザーコントロールをWindowsFormに 埋め込んで使用しているんですが、この影響があったりするんでしょうか? 一度、純粋なWPFで試してみます。
875 :
871 :2012/03/28(水) 09:39:01.60
どうも、WinodwsFormに組み込んだ場合におかしくなるようです。 WPFアプリ ⇒ スペースキーのイベント発生 WPFアプリにWPFユーザーコントロール ⇒ スペースキーのイベント発生 WindowsFormアプリにWPFユーザーコントロール ⇒ スペースキーのイベント発生しない。 (・・・そもそも、スペースキーでチェックボックスにチェック出来ない。 なぜか「Ctrl + Space」でチェック可能。) ということで、ご迷惑をお掛けしました。 別の逃げ道探してきます。。。
Formsと混在の場合、WPFのApplicationから開始しないと入力関係とかおかしくなる。
わざわざWinFormsと混在させるのがよくわからん
Windows.Shellコンポーネントを使ってウィンドウにAeroGlassエフェクトをかけることはできたんだけど、 透明部分の上に置いたテキストの背景を白くボカす(タイトルバー部等と同じ)ための正式な方法が解らない。 ネイティブコードではuxtheme.dllのDrawThemeText()で描画するものだけど、これを使うしかない? 苦肉の策として同一テキスト・同一位置で白文字のTextBlockを真下に配置し、そいつにBlurEffectをかけて みたらそれっぽくなったけど・・・
Application.Propertiesって使ってる奴いる?
ActiveXとの連携はよくある話だよ
ActiveXとの連携なら普通逆じゃね
逆だった FormsにWPF貼り付けてるのか、確かによくわからんな
>>878 VisualStyleRendererでDrawTextするとDrawThemeText相当じゃなかったっけか
>>878 がんばっても8がくれば意味ないと思うchrome
Blend使ってみたけどゴミすぎだろ こんなの有難がってんのかよ
おなじことをxamlで書こうとするとどれだけ大変か知らないやつのみがいえるセリフ
MvpVmR2.zipいつの間にか直ってるね
889 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/02(月) 10:30:03.54
Livet1.0マダー?Helpないから使い方わかんねーぞゴルァ!
>889 MVVM なんて使えねーだろ。問題領域分離するメリットって何? 現場じゃ仕様ころころ変わんのに領域とか綺麗に分けられる訳ねーだろ(pゲラ リークどうの言うてるけど、リークせんよう実装すりゃいいだけじゃん。 あとバインディングと MVVM 話ごっちゃにしてる奴大杉じゃね? バインディングの有効性は認めるけど、わざわざ ViewModel 用意する意義ねーじゃんw
使わなくていいよ
892 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/02(月) 15:32:58.09
MVVMってUIの仮想化関連でデータがリセットされることの無いようなアプリか、 リセットの前後でうまくバックアップ+復元が出来れば、必須ではないんでしょ? あと、リセット発生の正確な条件わからないから、誰か知ってたら教えて
mvvmのリセットが何かは知らないけど 基本、コントロールの中でエレメントを作ったり消したりするやつはバインディングが外れるよ リボンコントロールとか グローバルにしてバインドすれば再生成の時にバインドされなおすけど
パターンは適用すれば便利だけど絶対必要なものじゃない パターン信者に陥るのは問題だと思う >あと、リセット発生の正確な条件わからないから、誰か知ってたら教えて リセットじゃなくガベージコレクションな どこからも参照されなくなった時点でガベージ対象になる いつガベージされるかはシステム任せで誰にもわからない
UI仮想化とMVVMって実は次元の違う話 バインドとMVVMを混同しちゃだめ
896 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/04(水) 01:02:17.03
Visual Stdio 11 Express EditionでWPF使える?
>>897 これはExpress Editionなの?
さあねー
VS11でWPFは無料では使えなくなる もうこれ以上の普及は望めない オワコンってことだ
マジで!?
ugaya40がなんか吠えてる件について
たかが業務アプリケーション作んのに、UIスレッド外からアクセスする必要性まるで見えないんですがwwww 意味的使いまわし?TableAdapter使いまわしてるので心配ありません(キリ) 大体パターン屋は自分らしか通用しない専門用語多すぎなんだよ しかも概念ばっかでサンプル示せない連中多い そこまでいうならパターン使う使わない、二つプロジェクト用意して具体例見せながら布教しろよ
WPFに限らず自分で分かる範囲でやっとけよ
WPFなら絶対MVVMじゃなきゃダメってこともないわけで 使うかどうかケースバイケースでいいんじゃね? でも俺は何かと便利だからMVVM使うけどね
現在出てるVS11 Express betaではMetroアプリしか作れないけど 最終版も同じなのか?
909 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/04(水) 11:35:41.66
>>907 WinFormを放置して.net戦略で囲い込みしようとしたMSのことだから
さらにメトロオンリーは十分ありそうw
910 :
907 :2012/04/04(水) 11:38:32.95
勝手に後でWPFテンプレートも追加されると思ってたけど 今更怖くなってきた…
2010公開終了しなけりゃ大丈夫だろう
912 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/04(水) 11:47:55.13
>>911 というよりWPFやSLがVC++みたいな扱いになるかもよw
2011が出たら2010の一般公開は終了だろう
>>907 Go Liveなので最終版も基本的に変更なし
WPFアプリを作るのならPro版を買うか古い2010 Expressで我慢するかのどちらか
VS11 Express for Windows8 とは別に VS11 Express が出ると予想
裏に回した途端処理終了させなきゃならんメトロアプリしか作れないんじゃ意味ないな 正気が残ってるならちゃんとしたやつも出すだろ
ViewModelのファクトリって作った方がいいの?
あれはテストとかDIとかの都合だから必要を感じないなら要らん
919 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/04(水) 23:42:05.67
MVVMにコードビハインド加えたらMVPVMになると思うんだな
WPF に手をつけないでよかったわー よかったわー
Metroが勝ち組! www
確かに知れば知るほど VB6 → Forms からの移行ユーザーに WPF は敷居が高すぎ感がしてきた。 Web アプリ作ったり勉強したことなければ、尚更厳しいだろうな。 VB6 から Forms 移行組はパターン勉強した事ない奴多そうだから、MVVM の採用は極めて難しいだろう。
WPFそのものより、FlowDocumentが玩具レベルの完成度だったのが痛い
FlowDocumentは使い道がない
それ以上にDataGridの完成度が酷すぎる
ついでにCanvas系の性能もなー あれ良いとこなくね
formsと同じレベルのアプリをひとりで作ってるならな まあおまえらはアニメーションもカスタムパネルも作れないからな
そういった物はあえてWPFを選ぶまでもなく 過去の資産で短期間で要求以上の物が用意できちゃうのが大半 で実績もあるしとそっちを選択しちゃう どうしてもWPFを選ばなきゃならないケースが少なすぎたんだろうな 理由があればもっと浸透したと思うよ Win8にその理由を期待したんだけど斜め上のMetroアプリ推奨だもんなw
リソースディクショナリのxamlの中で別のxamlファイルに定義してあるものを BasedOnで参照って可能ですか?MergedDictionariesだとそもそも xaml側で無いと怒られるし・・
WPFの採用基準が「最新のアーキテクチャだから」だけで仕様や開発メンバーの能力と適合してないと悲劇が起こる
自己解決しました。リソースディクショナリもResourceDictionary要素なので、 外部ファイル側でMergedDictionariesでマージすれば参照できました。
932 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/05(木) 17:11:56.27
>>927 だからナニ?
別に作る必要ないし、作れるとなんか偉いわけ?
933 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/05(木) 20:36:13.39
ガベコレってことは、適当にスクロールして画面外に出してからGC.Collect(); すれば消えるのか? 今度試してみる
何言ってんだこいつ
Toolkitの最新版、メーカー製になってるのな
>斜め上のMetroアプリ推奨だもんなw 斜め上つーか、斜め下だろ
937 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/06(金) 07:02:58.56
テキストベースなら、FlowDocumentぐらいしかWPFを使う意味はない。 RichTextBoxを活用した便利なソフトがないのが不思議だ。
938 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/06(金) 09:02:07.14
ハイハイハイ、どうせオレらはバカですよんッ♪ でもバカにも理解できるよう教えてくんねーとフレームワーク普及できるハズねーだろwww 雲の上の人はせいぜい神々とでも呟きあっててくれよ(プゲラ
>>937 RichTextが以前よりも強力だというのは分かる
ただ何に使うのかわからねえ
文章のレイアウト変わるのは困る場合がある
本当に使いどころがない
文章はhtmlで書いてwebbrowserで見たほうが便利だし…
940 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/06(金) 13:42:40.91
wpfのツリービューとリッチテキストボックスでアウトラインプロセッサを作れるやつはいないのだろうか。
blend でxaml を吐くと、d:LayoutOverrides という属性が追加されるけど、 これ何者・・?ググってもMSDNにも見当たらない・・・
FlowDocumentってhtmlより表現力低い癖にトロいんだもん
htmlじゃfixedpageにはしてくれないだろ する必要があるのかは別として ビジュアル(Visualクラスな)を放り込みたい場合と印刷したい場合には使えるかもな
UserControlで分割ってあんまりやらないもんなの?
俺はよく共通部分とかUserControlに分けてるけど バインドとかDependencyPropertyで中継かます必要出てきたり 面倒が増える部分もある ただ、複数のWindowから一部だけ使いまわす部分を共通化するためとか、 複雑で肥大化したWindowをパーツに分けたりとか そういう部分で役立つとは思う (Blend未使用、VisualStudioでXAML手打ちしてる環境での話だけど)
UserControlで分けるとFocusManager使えなくなるって Dispatcher頼みになるな
wpfでやることになったんだが、他のメンバーに教えるの大変だな・・ MVVMとかどうやって教えればいいやら。 俺のパクれば行けるみたいなことを言ってるんだが、 パクりだけじゃ絶対行き詰るよな・・勉強しろよ。。
WPFみたいなオワコン 勉強したくないのが普通だって
オブジェクト指向がわかってないやつにはどうやっても教えようがないな
ならオブジェクト指向から教えればいいじゃん
マジそのレベル。VBAが主力の人らで・・。俺は中途なんだけど、元から居る連中が酷い。 それでも、Windows Formsだったらoop理解してなくたって組めてたみたいだけど。 別にwpfでも組めるけど・・最悪MVVMなかったことにしよう。厳密なのに拘る気はないけど。
MVVM抜きにして無理だから 最後まで一人でやった方がいいぞ
953 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 05:53:53.48
MVVMわかんねーとWPFで開発できねーてのが問題なんだよな それ以上に人集めりゃ開発できると勘違いしてる業界の体質自体狂ってんだけどさ 誰かさるにもわかるMVVM入門書いてくんねーかな
べつにイベント駆動でもいいじゃない 使い捨てだもの
955 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 08:10:49.58
5年でオワコンになる画面系のくせに俺すげーことしてる(キリッって厨二ぽく見栄張るためのインチキ技術がMVVMだろ?w
956 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/08(日) 08:18:59.60
ビューとロジックの分離(キリッなんて言うけど実際はロジックの再利用なんてしたことないだろw どうせ単純なデータベース読み書きしかしてないんだろw 必要になったら作り直せばいいだけじゃんw Visual Studioは生産性の高さが自慢じゃなかったのか?w
>>950 そのオブジェクト指向を斜め45度くらいに理解するやつがいて
メンテ不能なプログラムが出来上がる。
ずっとそこで働くんじゃなきゃ メンテ不能でもいいだろ
有能なプログラマを雇わない会社が悪い
優秀なPG必要ないプロジェクトならいいだろ そこがお前らとUの限界
有能なプログラマはプログラマにならない
Visual Studioが正式サポートしたらはやりだすよ 現状だとデザインプレビュー上に配置したボタンとかをダブルクリックすると コードビハインドにメソッドが自動生成されてそこが開くんだから、 そういう開発手法のほうが合理的 View & Code behind & Model これがしっくりくるな
Modelだけ再利用すりゃいい ということが言いたかった
965 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 03:11:22.65
ListViewが糞重いのはVirtualizingStackPanel次第で改善できるらしいが 難しくてよくわからんなWPF
VMを共有なんてまずしないし、コードビハインドで良い気はするんだけどな。 でも、直でV触れるだけに、いちいちめんどくさいことしなくなりそうw イベントでいいだろ的な。
デザパタ的にぶったぎった結果なんだろうけど いまのvsの仕様を考えるとwindowクラスをpartialでぶったぎったほうがお徳だよね
VM
970 :
営利利用に関するLR審議中@詳細は自治スレへ :2012/04/09(月) 09:33:37.60
U氏は、ツィッターで下らんバトルする暇あるなら、その分Livetのリリースに全力注いだ方がいいと思うぞ MVVMインフラの決定打と称して皆を期待させながら、リリース一年近く遅れてドキュメントも公開の目処すら立たないのに、ツィッターで吠えまくるのは何か違うと思う
使いにくい物を使いにくいと言うとU師の攻撃を受ける世の中w
await,asyncが出てきたらLivetに影響があるんですか?
MSでサインインできないので
どなたかご連絡お願いできませんか?
このページ
MVVM入門 その1「シンプル四則演算アプリケーションの作成」 かずきさん著
http://code.msdn.microsoft.com/windowsdesktop/MVVM-d8261534 を手順通りコピペして実行させたのですが計算選択のコンボボックス部分が
Itemのクラス名で表示されてしまいます
しばらく調べても原因がわからなかったのでslnをダウンロードして見てみると
App.xamlに DataTemplateが設定されていました
この手順が抜けているようです
ページをよく見ると
App.xaml.csの見出しがXAMLになっていますのでこのあたりで紛れたのでしょうか?
最終更新日2011/05/18 こういう記事って誰も検証しないのか
MSDNすらたまに間違ってるしな
Win8CPのストアにあるkabu.slateのレビューにかずきさんが…
Prismってどうなん? まだこれからドキュメント読もうってとこなんだけど私的な感想でいいから意見聞きたい。
MVVMはPrism使った方が便利で楽ですよ Microsoft公式だから安心 LightKitやLivetはイマイチ
触っといて無駄にはならんと思う
wpfってバインドで落っこちると、StackTraceから追いづらくね?どこだコレ・・ってなる。
>>979 ,980
了解です。ちょっくらためしてみます。
PortableLibrary使ってVMレベルまで共通化したlPhone,Androidまで含む基盤としたいんでPrism自体が使えるかは分からんけど少なくともコンセプトの参考にはなるだろうから。
Prismでそれができそうなら構わないし。
けどなんか車輪の再発明しそうな予感…
お前ら、移植にやたらとこだわるけど、実際に移植したことあんの? VをWPFでもSLでも動作するようにしました! ⇒ SL版だけあれば十分 VをさらにWinRTに対応させました! ⇒ ああ、そう・・・ 意識するだけ無駄じゃね?
まだ数えるくらいしか業務システムは動いてなさそうだなぁ。wpf、SLは。
スレチだけど、 iPhone開発でも公式でC#が使えるようにして欲しい monoじゃなくて、xCodeで。 c#の利便性の高さに慣れると、objectivecやjavaでの開発は無理だわ
>>984 もうすぐ、WPF二ちゃんブラウザが誕生するから、メジャーになるよ。
Windows Phone が売れれば問題ない
Windows Phoneて今でも一般人の知名度0に近いし、すぐ消えそうな… スマホならiPhoneとAndroidの両方対応して欲しいところ
WindowsPhoneじゃなくて、スマホにWindows8を搭載すれば勝てる
win8でやっと動くようになったけど メイリオとメイリオuiの表示違いすぎだろ virticalAlignment的な意味で
メイリオがおかしいから。 メイリオUIは結構まともになったかと。
>>990 Windows Phone 8 になるに決まってるだろw
Win8をそのまま搭載したらイミフ
>>993 それがWindows 8 Phoneさ
すでにWindows 7 Phoneもあるだろ
PrismのModuleCatalog.xamlって外部ファイルから読み込むようにしたらダメなのか? サンプルだとリソースにしてるけどそれだと変更するたびにビルドしないといけなくて不便じゃね それでいいんだったらXAMLよりもソースにハードコーディングしちゃったほうが手軽なような
>>992 センタリングしてんのに下の方に寄ってるフォントのどこがまともだ
自分でやってから言え
う
うめ
梅
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。