【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
.NET3.1で大幅変更 .NET3.5でプログラミングモデル変更 .NET4.0で氏滅
.NET 4.0は自動並列化をサポートするけど そのために中間言語自体に大幅な変更が加わって .NET 2.0ベースのアプリは完全に動かなくなる まあ両方のCLRがOSに標準搭載されるから無問題だが
コンパイルしなおせばもうまんたい? どう中間言語換わるか知らないんだけど、トランスレーターみたいの出るんじゃないんかね
プロジェクトだったら、全部新しい環境に変換されるんじゃないのか?
またスクラップ∩リビルドかお。
自動並列化って何? 何を並列化するの?
そもそも
>>393 の信憑性は?
まあ、それが信憑性あるとしてもたいした問題とも思えないけど。
2.0 の CLR と 4.0 の CLR の混在 & どっちの上で動くべきか自動判定してくれるでしょ。
>そもそも
>>393 の信憑性は?
なんていうか、393の信憑性は0だが、
内容は現実にあってて信憑性高杉る。
>2.0 の CLR と 4.0 の CLR の混在 & どっちの上で動くべきか自動判定してくれるでしょ。 ヒント:今までだってコンバートの嵐。コンバートエラーも嵐。
性能が落ちるだけじゃなくてバイナリが保障されないドトネトなんてヤメテしまえYO!
バージョンまたがって、バイナリ保障されてるランタイムなんてほとんど奇跡。
2.0も4.0も入ってるならコンバートする必要はないだろ ソースレベルでは互換性は保たれるだろうし
>バイナリ保障されてるランタイム 実行バイナリの話なのか、実行ランタイムの話なのかハッキリしろよ。 何テンパッてるんだよ。 >ソースレベルでは互換性は保たれるだろうし 何そのM$では今までありえなかった話。
>>404 ここ4・5年、それ以前のMSではありえなかった話が山ほど実現してる。
APIが廃止されても大丈夫だからSide by Side実行なのだよ
しかしObsoleteが来て廃止されたら 結局ソースレベルでは互換性がなくなるんだな 旧バージョンのCLRがあれば動くは動くんだろうけど
Visual Studio 2008ではTarget Frameworkとして複数の.NEt Frameworkの
中から一つの.NET Frameworkを選択することが出来ます。
HILOG on Hatena - Visual Studio 2008 Beta2 Available
http://d.hatena.ne.jp/InoHiro/20070728/p3 なんとなく思うに、しばらくはこのまま2.0, 3.0, 3.5で平行して
走らせてくつもりなのね。。。
バージョンを並行して使うのは、元々そういうつもりなんじゃなかったっけ。
Visual Studio のバージョンは .NET Framework のバージョンと密接に〜 とか言ってたのにな 2005 → 2008 の間に 3.0 と 3.5 を出す事になると そうも言ってられないってことだな
0$のバージョンの上にドトネトバージョンが乗っかるって、 それって何てブビランタイム?
hoshu
417 :
デフォルトの名無しさん :2007/09/14(金) 21:29:51
結局のところ.NETの利点はなに? Javaは他OSで動くからまだいいんだが…
開発が楽になる
Microsoft的にはx86, x86-64, IA64間での マルチプラットフォームの実現。
>>417 出版社と開発ツール屋と開発系コンサルが当分ネタに困らない。
JavaがWindowsじゃ役に立たないから、その穴埋め。
>421 それだ。 Javaの苦手なWindows上のGUI部分を埋めるのが.NET(WPF)の役割だな。
たしかに、昔JavaのGUIアプリ仕事を引き継いで完成させたら、 客からは「操作がWinでもMacでもなく糞すぎ」と散々言われたなあ 最終的にWin挙動に似せるように、ちまちまプログラム追加していった あれ以来Javaでプログラムはやってない。
Javaはどこでも動くがどこで動かしても中途半端
どこでも動くだけましだろ Windows限定の中途半端なものに比べたら
どこでも動くのはWebアプリで結構
つーか市販のJavaアプリなんて見たことないけどw
Run Anywhere は幻想というのがよく分かるのが Java
電子政府がTrouble Anywhereって印象しかない < JVM
431 :
デフォルトの名無しさん :2007/09/16(日) 09:47:05
JavaでGUIプログラムとか(笑)
Web ブラウザ前提のアプリの場合、 GUI アプリじゃないのかどうか悩んでしまうな
見事な廃れっぷりだな。 WPF始まる前から終了の予感がしてきた。
VS2008の今のベータ版でもWPF関連の開発が一番遅れてる感じだな。 Linq/Dlinqの方がよほど安定してるよ。 WPFの普及は開発ツールにかかってると思うが今のところ前途多難。
でっていう
>>433 おいしいところ全部Silverlight 1.1に持って行かれたからな。仕方がない。
Sliverlightだって…
PowerShellばんざぁい
>>436 そうでもない。
XBAP は終わってるかも知れんけど、
WinアプリはWPF使うだろうし。
Silverlight は、リソースとかイベントトリガとかバインディングの辺りで制限多い。
使えるエレメントも限られてるし。
HTMLの代わりに使えばいいんじゃね>XAML
Loose XAML のことかな。 IE + .NET Framework 3.0 の環境だけがターゲットになるのがつらいよなぁ。
442 :
デフォルトの名無しさん :2007/09/24(月) 23:22:17
C#使いは当然XAMLも勉強するよな?
しょーもないことで上げるなボケェ
なんかWPF触ってるとC#の堅物さに嫌気がさしてくる
WPFの方もIronPythonとかサポートしてくれないものか。
むしろ IronPython は WPF のサンプルとともにデビューしたんだけど...
WPFでのIronPythonサポートって何がしたいの?
Windows GUI アプリ開発で LL 使いたいってことかな。 俺としては、規模大きいアプリの開発に LL 使うのは否定派なんだが。
>>447 WPFがDependencyPropertyみたいなプロパティシステムを再実装したのは
GUIのコントロールツリーと.NETのプロパティが相性悪かったからってことでしょ。
.NETのプロパティは堅物過ぎたから
自前でフレームワークを作らないといけなかったとというわけで。
いくつかの軽量言語が組み込みで持っている型システムなら
そのまま流用できた可能性はある。
IronPythonの型システムとDependencyPropertyをどうくっつけるかみたいな話は
結構あちこちで行われてると思うよ。
>>449 プロパティシステムを再実装したのは、Attached Propertiesのようなものが必要だったからでしょ。
(Visual Treeにおける親子間のデータ引き継ぎ)
だけど、それが軽量言語の型システム流用で解決できるとはとても思えないんだけど・・・。
で、C##が誕生するのか
>>450 実行時にプロパティを付けたり外したりってまさにLL言語の十八番だと思うけど。
>>452 いや、単にプロパティを追加するってのではなくて、
別クラスのプロパティを持てるってのがポイント。
そりゃ、LL言語のプロパティの動的追加機能を使って、
obj.ClassNamePropertyName
みたいな書き方すれば似たようなことはできるかもしれないけど、
それはちょっとなぁ。美しくない。
>>453 property missingをフックして親のチェーンをたどるとか。
そういうのじゃだめ?
>>454 型Aのオブジェクトaに プロパティ B.Name と C.Name を設定したいとき
LL言語で
a.Name = "あ"
a.Name = "い"
とすると二行目でプロパティが上書きされてしまうので、
>>453 の書き方が必要という話だと思うけど、
> property missingをフック
するとどういう書き方になるの?
依存プロパティをコード中で使うための構文 obj.SetValue(Class.Property, value); ってのを、LL 言語を使えば obj.Class_Property = value; とか書けるのは書けるだろうけど。 それができて嬉しいとはさほど思えない。 書きやすさのメリットは確かにあるけども、 普通のプロパティと依存プロパティの区別が付かなくなることにはデメリットもあると思う。
>>456 んー
>普通のプロパティと依存プロパティの区別が付かなくなることにはデメリットもあると思う。
LLを静的言語風に使おうとしている雰囲気がするけどどうなんだろねえ
例えば何でもいいから obj ってインスタンスのがあって、
たとえば ImportDP( obj, Class ) みたいに書くと
Class に定義されている依存プロパティが obj にインポートされて
以降そのインスタンスに限って obj.Property = value と書けるようになるとか。
事前に一括コンパイルする訳じゃないんだから
ソースを見て「これは普通のプロパティ」「これは依存プロパティ」とか
そこまでこだわりながらプログラミングするものかねぇ。
たとえば obj.HogeHoge って書いておきながら
実際に Hogehoge という何かがなかったとしても
プログラムがそこを通らなければ問題なしって世界だよ?
なるほどな。 LLでできそうだ。 自分の子供には、自分に必要なプロパティを追加すればいいんだもんな。
そしてIDEのデザインモードは壊滅
とりあえず依存プロパティをGetValueするときにキャストが必要なのはなんとかしてほしいな。 C#4.0待ち?
シェルとのやり取りはWPFの仕事じゃないから、無くて当然な気もするな。
>>462 いえ、全然駄目なことないです、自分も素直にFormsのNotifyIcon使おうかなと思ってたので
ただWPFだけで機能が完結してる方がなんとなく綺麗かなと
>>463 結局そういうことなんでしょうね
とはいえコモンダイアログ系は Microsoft.Win32 に移ったんだから NotifyIcon とかもそっちでやって良かったと思う今日この頃 質問です。 RichTextBox で IsReadOnly を true にするとキャレットが消えてしまうんですが、 WinForms の RichTextBox.ReadOnly と同じように 書き込めないけどキャレットの操作可能って状態にはできないもんでしょうか。
FileDialogはMicrosoft.Win32なのに、 PrintDialogはSystem.Windows.Controlsという謎仕様。 そしてColorDialogは存在すらしない…
FileDialog→C++/CLI→Microsoft.Win32 PrintDialog→C#→System.Windows.Controls ColorDialog→J#→ぬるぽ
PrintDialog → 印刷はWPFの守備範囲だぜ → System.Windows.Controls FileDialog → WPF関係ないんじゃね? → Microsoft.Win32 ColorDialog→ おまいら、もっと素晴らしいダイアログ作れ → ×
音声認識・合成面白そうなんだけどXPじゃしんどいなぁ… nliteでいろいろ弄った所為かSDKやらOfficeやらインスコしてもSAPIを認識してくれないorz 精度気にしなくていいからニコニコとかピアキャス・ネトゲ用に支援ツール作れば受けそうなのに
Expression Blend で実行すると上手くいくのに、 Visual Studio 2005 で作成すると、メニュークリック時に落ちる…。何故? <Grid x:Name="LayoutRoot"> <DockPanel LastChildFill="False"> <Menu VerticalAlignment="Top" DockPanel.Dock="Top"> <MenuItem Header="ファイル"> <MenuItem Header="新規作成" /> <MenuItem Header="開く" /> </MenuItem> </Menu> </DockPanel> </Grid>
471 :
デフォルトの名無しさん :2007/10/30(火) 07:53:48
WPFは素人を騙すデモアプリになら結構使えるよ
何これプロパティウインドウでイベント選べないのかよ糞過! とか思ってたのに慣れてくるとこっちの方が良く感じてくるから怖い
>>471 VS2008に統合するって話じゃないか?
>>474 WinFSは死なずにKatmaiに取り込まれる、みたいな建て前の話だろ
ならいいじゃん
WPFを勉強しようと思うんだが、お勧めの本ってある? C#でそれなりなものが組めて、ベータを少しいじったくらいのレベルなんだけど?
本なんて少ししか出ていないから、全部立ち読みしてみて選んだら良い。
msdn2 の日本語訳版でも読めばいい
WPFだとD3Dデバイスの管理はCLRの中の人がやってくれてるんですか?
WPF の中の人の構造はよく知らないけど、 使う方からみて D3D デバイス管理的なことは全くする必要ない。
484 :
デフォルトの名無しさん :2007/11/20(火) 23:30:49
WPFでチャート描きたいときって Windows.Formsと同じで標準ではチャートコントロールないよね? WPF用でなにか定番のソフトとかってある?
とりあえずWindowsFormsHost使ったら
階層構造書くのは XML な XAML の方が見やすいと思うんだけど。 ほんと、良くも悪くもだなぁ。
静的に定義できる部分はXAMLで 動的にやりたい部分はRubyで書けるのかな。
>>488 Silverlight 1.1 はそれが出来るように作ってるはず。
IronRuby、Silverlight でぐぐればそういう話が出てくる。
1.0でもaddメソッド使えば動的に要素追加できるんだと思ってたけど駄目なの?
JScriptでいいなら出来る
実行中のプログラムウインドウのレイアウトをxamlに書き起こすメソッドってありますか
つ XamlWriter.Save
>>493 うおお、まさにこれです、ありがとうございました!
WPF重すぎてつかえねぇよ・・・ 何年経てば実用的な速度で動くようになるんだろうな
3Dでアニメーションはまだ、実用的な速度は出ないよ。 2Dアニメーションや静止画3Dなら使える。
だな、2Dも実は重いんだろうけど見た目でなんとなく誤魔化せる
498 :
デフォルトの名無しさん :2007/11/26(月) 17:07:31
xamlでgifアニメーション動かせます? 静止画としてしか表示できないのかな
>>495 CPUのクロックが10GHzに到達するころじゃない?
あっという間だね^^
当分来ないなw
>>498 xamlだけじゃ無理のはず。
何とかしてgifアニメのインターバルを取得してこないといけない。
? なんでWPFなのにCPUクロックの話になるんだ
WPFというか、グラフィックス関連に無知識なやつがCPU速度と騒ぐんだよな。 フレームバッファとかスクリーンバッファも知らないやつじゃないか?
ほとんどCPU描画な件
>>504 ボトルネックがどこにあるか調査してから断言してますか?
ソフトウェアレンダリングの場合はVRAMが一番影響大きいのだが?
それこそまともな3D描画ならともかく WPFのネックがフィルレートだとでも?
なんでソフトレンダでVRAMの影響が大きくなるの? メインメモリ上で処理して、VRAMに渡すのなんて最後だけでしょ?
おまえらプロファイラ使えよw
それも微妙だったりして。
そのうち「WPFアクセラレーター」なんて拡張カードが出てきたりして
趣味でWPFを始めてみました 質問なんですけど、ストーリーボードで人(アバター)を歩かせるアニメーションをしたいのですが、 画像の切り替えはどうすればよいのでしょうか? EllipseGeometryでPointAnimationを使って移動はできたのですが、歩くモーションのため、 数枚の画像を順に切り替えたいのです
不透明度の変更でできるんじゃない?
WPFの重さって、UpdateWindow相当の処理が存在しないのが原因じゃないだろうか? 描画処理だけなら60FPS近く出る場合でも UIスレッドで重い処理を行うと、 優先度の低い画面更新処理がすっ飛ばされて、全然画面更新されなくなる。 UIスレッドで重い処理をするなと言われればそれまでだけどさ、 WinFormsなら、キーが押される時等の早いレスポンスが求められる時には UpdateWindowが呼び出されてるんだから、 WPFにも同じような機構が欲しい。
WPFには、XNAみたいにフレーム更新のスキップ機能がほしい。 途中のアニメーションをすっ飛ばしてレスポンス返す方がいい。
>>511 Avalonだとか言われていた時代、既にAppleはQuatz Exteremeという
近代的なデスクトップシステムを作り上げていたのだなぁ
おいおい・・・
MSは98年ごろにデモで3Dデスクトップ環境を披露していたが
まあ板的に肝なのは主にXAMLだ
XAMLはいいかげんさが足りない
でも面白いよなXAML
でも、実際はタグでWeb開発してる奴にとっては珍しくないんだよ。 問題は内部ロジックがどの程度進化していくかが重要。 今の処理ではアニメーションが重すぎる。
XAMLって汎用的なオブジェクト生成、設定マークアップランゲージだろう。またそうやってかけるのがナイスなんだが。 自分でXAML相当のもの作るとしたらどういうスキーマをクラス情報から生成すればいいんだろ。attributeの辺りとかよくわからんです。 WPFこれから調査するけどなんか思い・・・ MSの人がXPだとハードウェアアクセラレーション書きかないバグがあってフィックスがどうたらとかいってたけど知ってるエロイ日といますか?
アニメーションはいらん機能だな・・・。 XAMLの一番のメリットはコントロールインスタンスの生成と レイアウトの手間が省ける点だと思ってる。 それと、XAML+C#コードビハインドで、言語レベルでMVCのV,C切り分けができるのがいい。 まぁ、コードビハインドなんて言葉も、web屋のほうから来たのかもしれないが。 ついでに言うと、.net2.0 のDataProvider + DataSet + XML関連クラス もいい感じに'M'を 扱いやすくしてくれてていい感じだ。 とにかくXAMLはUIレイアウトとユーザーイベントオブザーバーとしての機能だけを充実させて ほしい。変にプログラマブルな方向へは進んでほしくない。
もう進まないんじゃないかって思ってるんだが。
>プログラマブルな方向 むしろこれからが本番じゃない? Expression Designとの連携を考えなければ、無駄だらけの機能なんだし。 Expression Designをバージョンアップさせて色々と思いついたMSが あれもこれもと機能を追加しそうな気がする。
まあ、VSそのものはそれほど進化してないからな。 Blendとか他の製品で新しい機能がほしいとユーザから来て追加だろう。
アニメーションが重いのがネックだったら、 Storyboard使わずに自前のコードで20fpsぐらいで動かしたらどうだろ?
いや、アニメーションが重いというよりも全体が重い気がする。 XPだとハードウェァアクセラレーションできないって話があるがマジですか?
530 :
デフォルトの名無しさん :2007/11/29(木) 13:26:01
/ ̄\ プラグイン必須だし / ̄\ |/ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄\| | /V\\\ | /V\\\ | / /|| || | | //| || | | | |(゚) (゚)| | | | (゚) (゚) /| ノ\|\| (_●_) |/ \| (_●_) |/|/\ ウィンのIEしか動かないの 彡、 |∪| 、` ̄ ̄ヽ /彡、 |∪| ミ \ / __ ヽノ Y ̄) | ( (/ ヽノ_ |\_> (___) Y_ノ ヽ/ (___ノ \ | | / | /\ \ / /\ | | / ) ) ( ( ヽ | ∪ ( \ / ) ∪ \_) (_/ / ̄\ |/ ̄ ̄ ̄ ̄\ (ヽノ// //V\\|/) (((i)// (゜) (゜)||(i))) そのうえ動作はカ・ク・カ・ク☆ /∠彡\| (_●_)||_ゝ\ (___、 |∪| ,__) | ヽノ /´ | /
↑何と勘違いしてるんだろ?
534 :
デフォルトの名無しさん :2007/12/03(月) 17:50:53
>>534 >メモリ内を掃除する「メモリクリーナー」系のソフトが効果的かも。
こんなこと書いてるよ。だめだめだろそれ。
>>535 メモリのフラグメンテーションが進んでいる状況を解決するという点では
全く意味がない訳ではないので
長時間実行している状況という前提の中では一応問題ないと思うぞ
一度もリストアもしないで数年使い続けたノートでは役に立ったよ。 数日動かしてると激重になるけど再起動するのも面倒だからメモリクリーナーで急場をしのぐ。
>刷新 「.NET アーキテクチャーセンター」 絶えずアーキテクチャー刷新ですね。 ありがとうございましたorz
MEETをNEETと読み違える奴多数?
勤労を批判的に見る訓練
まずもってデザインセンスがない俺
うおおお 今度は落ちにくくなってるのかな
MSが使わずYahooが使っているという・・・
使ってみたけど結構悪くないよ ただ絵文字がきもくなった
おっしゃるとおりでございます。 リンク先のブログに書いてあるこれに期待するしかないな。 Update: I’ve heard some indication that Yahoo Messenger and presumably WPF runs better in Vista SP1.
XPのときにキラーアプリなんかあったか?
98/Meから乗り換えたユーザーにとってはXP自体がキラーアプリだったような。 当時2000ユーザーってそんなに多くなかったし。
WPF用のXAMLのスキーマってどっかに転がってますか?(´・ω・`)
>>551 2000 を使っていた身としては通知領域のカスタマイズで
表示しているアイコンを選ぶことができるようになったのが大きかったな
アプリ追加でやるのと標準で付くのは差が大きい
556 :
555 :2007/12/13(木) 21:27:59
[Window Title] Microsoft Windows [Main Instruction] WPFCalculator2 は動作を停止しました Vista Home Basicじゃ動かないのか…
557 :
555 :2007/12/13(木) 22:40:31
> UICulture 超常識なんだが。
そうか常識を超えてるのか…
561 :
555 :2007/12/14(金) 15:01:39
IOException: Cannot locate resource app.xaml - WPF in Visual Studio 2008 Beta 2 - Guy Burstein [MVP]
http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/08/02/Cannot-locate-resource-appxaml.aspx I had this error when running SdkViewer in VS.NET 2005, tried putting "MSBuild:Compile" as
the Custom Tool for SdkViewerApplication.xaml, but it didnt work..
2005で走らせようとしたらエラーが出た。SdkViewerApplication.xamlのカスタムツールとして
"MSBuild:Compile"を設定した。でも動かなかった
so I decided to open in VS.NET 2008 and after the project got upgraded, the app finally ran..
"MSBuild:Compile" was already set from the earlier trial with VS.NET 2005
そこで2008で開いてプロジェクトのアップデートを試みた。ようやくデモが動いた…
"MSBuild:Compile"はさっき2005でやろうとしたときに設定してあったと思う
so not sure if that did they trick, but will keep this in mind if I see this error again.. thanks.
なのでそれが功を奏したかはわからない。けどまたエラーが出た時のためにそのことを
気に留めておこう、ありがとう
--------------------------------------------------------------------------------
たぶんこれだな…。あぁ tried putting "MSBuild:Compile" as the Custom Tool のくだりのところが
さっぱりわからん orz
563 :
555 :2007/12/14(金) 15:35:50
ああ、[プロジェクト]-[SdkViewer.VisualStudioのプロパティ]から .csproj を設定できるようになってるのか。それをカスタムツールと呼称すると。 [ビルド]タグを開いて[全般]-条件付コンパイルシンボル(Y):のテキストボックスに MSBuild:Compileを入力しろと。>tried putting "MSBuild:Compile" as the Custom Tool うん。見通しは悪くは無いね。シンプルだ
WPFで画像ビューアなんかを作った場合、VA側のVRAMが許す限り画像分メインメモリを消費しなくて済みますか? オンボなので確認のしようがない・・・
VA側じゃなくてVGA側でしたorz
意味が分からない
ついでにいうとオンボードの場合まず間違いなくメインメモリを流用するわけだが
たぶん答えはNoでしょ。 WPF使っても、画像ビューアーの内部で持ってるイメージデータが VRAMに保存されることはない。 イメージごとに独立した別ウィンドウにすればVRAMに確保されるけど、 バックアップとしてメインメモリにも同じデータが確保されるから消費量は2倍以上になる。 そもそもWPF&WDMのしくみや目的を誤解してると思う。
>>566-567 すいません、DirectX自体良く分かってません
>>568 例えばImageコントロールを使えばそうなるのかな思ってたのですが、
VRAM上のデータはメインメモリ(上にあるテクスチャ)のキャッシュとして使われるってことですか?
>>569 その辺については「dwm.exe」でググると(WDMじゃなかったorz)
わかりやすい説明が見つかると思うよ。
とにかくWPFとは直接関係ないことだから、VRAMのことは忘れたほうがいい。
Visual Studio 2008 日本語版が出たのになんでこんなに寂れてるんだ・・・
エキスパートは英語版すでに使ってるし、新フレームワーク関連以外は 2005とあまり変わらないから。
使ってる人はとっくに使ってるし、相談するほど凝ったことさせるのは現時点では現実的でないと分かってるから、とか
β版から使ってると、「やっとRTMきた」くらいしか書くことがない。
WPFアプリを試してみたが、イベントハンドラの一覧が プロパティウィンドウに出なくて面倒だな。 他にもXAML手書きでなんとかしなきゃいけないとこが多そうだ。
プロパティの数が多すぎてプロパティウィンドウは使い物にならん。 XAMLウィンドウでキー押してインテリセンスで候補選ぶほうがずっと速い。
ほんとだ。XAMLのエディタは優秀だな。
正直 XAML エディタの GUI 表示は表示確認でたまに見るが プロパティ一覧は最初にちょっと触った以外は操作した事もない
XAMLプロパティウィンドウはFormsプロパティウィンドウより退化してるw インテリセンスはVS2008は比較的優秀。 デバッグはちょっと使いずらく感じる。
イベントってどうやってやるの? 手書き?
XAMLエディタが一番手っ取り早いと思う。 イベント付けたい要素のタグ中でインテリセンス使って「MouseDown=""」とか入力すると、 「新しいイベントハンドラ」というのが出てくるから選ぶ。 自動的にビハインドコードのほうに「要素名_MouseDown」ってメソッドが挿入される。
XAMLPAD使いの俺からするとVS2008のWPFエディタはめちゃ高性能。 最初にGUIで各パーツを大雑把に配置したら あとは表示を確認しながらXAMLを直接いじってゆくのが基本だ。
584 :
デフォルトの名無しさん :2007/12/22(土) 17:06:36
WPFのButtonタグ。BackgroundとForegroundで色をつけたのですが、 ボタンを押すと普通の灰色ボタンに戻ってしいます。 ボタンを押したときのBackgroundやForegroundを指定したいのだけどどうやったら出来ますか?
>>584 .NET Framework開発 > Windows Presentation Founndation > WPFの基礎 > スタイルとテンプレート > トリガ > プロパティトリガ
>>585 ありがと〜、見つかりました。
<Style TargetType="Button">
<Setter Property="Background" Value="Cyan"/>
<Setter Property="Foreground" Value="Red"/>
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Yellow"/>
<Setter Property="Foreground" Value="Blue"/>
</Trigger>
</Style.Triggers>
</Style>
記事や書籍で「WPFはGPUを酷使することでCPUに負荷を与えることなく高速に動作する」 と言われていますが、C2D&Geforce8シリーズのようなハイエンドPCでも、 簡単なアニメーションを行うだけでCPUリソースを20%消費するという状況に良く会います。 WPFのどんな処理が Pixel / Vertex Shader で記述されGPUを利用していることになるのか 解説している文章等は有りませんでしょうか?
588 :
デフォルトの名無しさん :2007/12/22(土) 23:20:49
>>550-551 確かに・・・落ちない、というだけで、重くてもXPにしたからな。
まあ、他で2000も使ってたけど。
ただ、Vistaは、本当に利点がない。
俺は、ゲームもやるが、ゲーマー周りじゃ、Vista氏ねだとw
OS:Vista って書いたらハァ?って言われてるし
>>587 答えは知らんけど、最後の合成以外はほとんどCPU処理だと思ってた。
要求スペックがSM2.0以降だからたいしたことできなそうだけどな。
WPFはタブオーダーをクリックして変更できないのかな。 あの機能は便利だと思うんだけど。
>>590 便利じゃねーよ。
途中からの順番変えたい時も最初からクリックしなきゃならんし
593 :
デフォルトの名無しさん :2007/12/23(日) 14:11:11
>>591 Vistaだと、1割重いっていうのが通説なんすよね。
まあ、それを見越して、チューニングしろって話なんだろうけどさ。
最近だと、DirectX10だと、キレーになる、ゲームがあったんだけど、
「Crysis」
さて、実はここで紹介した効果を含めて、公式にDirectX 10フィーチャーと
されている設定は、ゲームの設定ファイルを触ることでDirectX 9環境でも
適用することができる。結果的にDirectX 9バージョンでもDirectX 10バージョン
と同等の絵を出すことができる。つまり、DirectX 10だから美しい環境が実現
されているわけではないのだ。
あえて上記に触れたのは、現在のところDirectX 9バージョンとDirectX 10
バージョンで、「最高」設定の絵を出したとき、実はDirectX 9バージョンの方
がパフォーマンスが良いからだ。
http://www.watch.impress.co.jp/game/docs/20071130/crysis.htm Vistaオワタ\(^o^)/
そろそろ、スレ違い
DirectX10の本領発揮は10.1からだぜ 見た目が綺麗になるとか云々はおまけです
そのとおり。 根底から違う。
>>592 だが、その機能すら今回はないんじゃないか?
C#でWPFアプリケーションプロジェクトを作成してそのまま実行してみた ウィンドウの端ドラッグしてサイズ変更すると、たまにクライアント領域が黒くチラつく これを抑制する方法を教えてください 環境は、Vista+VS2008です
サイズ変更されるエレメントに、 ビットマップエフェクトや不透明度などの重い処理使うのを避けるとか。 描画が追いつかないときに出る現象だから、完全に抑制するのは無理じゃないかな。
600 :
598 :2007/12/26(水) 13:06:06
プロジェクト作って、そのまま何も配置せずに実行して、 そうなるので重い処理ってことはないと思うんだけど これ、どうしようもないんでしょうか・・・?
田 -> 口ドラック中にウインドウの内容を表示する
自分のC2D Vistaでも黒チラ出るよ。
コントロールのアニメーション面白いなーこれははまるわw
604 :
薄汚い派遣の国、日本 :2007/12/27(木) 03:37:28
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。 派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」 などと 言って泣き落としで現場マネージャーにすら一切話がないまま再派遣契約した人のことです。 今月初め、半年前に切った派遣が出社してきてマネージャーも含めみんなびっくりしました。 影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・ そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。 仕事に必要な技術がなく勉強する気もないのを逆手にとって 「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には みんな凍りついていました。派遣でスキルアップとか言ってる癖に以前と同じように 技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、 派遣で収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。 結局、なんの努力もせずに派遣で安直に収入を得たいだけじゃないですか。 身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、 いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、 契約終了を通知されれば泣き落とし。悲惨な人生ですね。 氏んだほうがいいんじゃないですか。
605 :
デフォルトの名無しさん :2007/12/27(木) 04:07:28
推奨NGWORD:派遣
アニメーション?
>>602 Core 2 Duo はともかく GPU は?
そこらへんはCPUよりもGPUっぽいなぁ
うちはC2D E6600にGeForce6600GTだけど、サイズ変更時に黒くチラつくな GPU古いっちゃ古いから仕方ないのかな・・・ GPU変える参考にするから、出ないって人いたら、環境教えて
C2D E6600にGeForce GS7600だがVistaだとちらつく。 XPだと大丈夫。 さらに、VistaだとAllowsTransparencyがtrueのウィンドウのリサイズが非常に遅い。
611 :
609 :2007/12/27(木) 15:15:44
>>610 情報ありがとう
VPCのXPに.NET 3.0突っ込んで試してみたら、チラつかなかった
自分のコードで解決する問題じゃないってことかな。でも、気になるなぁ・・・
ここまで読んだ もっとWPF使いたくなるような話題はないのか? とりあえずVCL使い慣れているのでWinForms使うわ
>>607 オンボードのGM965。でもみんなの話を聞くと、「Vistaだと黒チラ出る」でFAなのかな。
SP1で直るといいな。
.NET3.0て2.0用のアプリ動く?
多分
2.0は3.0の一部
3.5いれたら3.0いれなくてもOK?
そう思ってた時代が自分にも(AA
3.5入れたら3.0と2.0も入るらしいよ
>>620 Aero切ったら画面描画が遅くなるんじゃないの?
Aeroをなんやと思うてんねん
>>620 Aero切ると黒チラは出ないね。でもCPU負荷はAeroオン時より10〜20%ぐらい高くなる。
他のウィンドウの再描画が増えるせいかな。
AEROきる→WPFのGPUアクセラレーションきるとなる? ほかの描画効果あるのも知ってるけれど、とりあえずその部分だけ。
>>621 ,624
AeroとWPFの両方でGPU使うから、その辺で切り替えとか色々間に合ってないんじゃないかな、とか
やっぱ完全GDI描画だと(処理速度はともかく)出ないのね
>>625 AeroとWPFのGPUアクセラレーションは直接は関係ないと思うけど
いや俺はvista持ってませんがね
Aeroオンの場合 1)ウィンドウサイズが変わる 2)クライアントエリアのイメージを保持する領域を確保し、不透明の黒で塗りつぶす 3)外枠を描く 4)WPFがクライアントエリアを描画(非同期処理) 5)GPUが合成 で、4)の処理が追いつかない場合、2)の黒が見えてしまう、と予想している。 2)の黒で塗りつぶす処理をスキップできれば黒チラ消せるかも? GDIの場合はデスクトップに上書き描画するから黒チラは出ない。 でもウィンドウの移動・縮小時にはそこら中で再描画が発生するから実際のCPU負荷は大きい。
なんでWPFのCheckBoxのIsCheckedはbool?なんだよ・・・ いちいちboolにキャストすんのめんどくせーよ、やってらんねーよ
bool b = IsChecked ?? false; と書くだけだぞ
え??
なんでbool?になってんの? 3値だから? なんか書いててアホなしり上がり口調みたいだが
<CheckBox IsChecked="true"/> <CheckBox IsChecked="false"/> <CheckBox/> これを区別するためじゃね?
なるほど。 しかし、629ではないが、指定なしのときは false の方が使いやすいな。 無理にNullable Typeを使わなくてもという感じがした。
Win32のチェックボックスだって3状態あったじゃない。 Windows Formsでは列挙体CheckStateで表現されていたよ。
普通アプリで3状態使うシチュエーションが思いつかない Excelの複数セルの書式設定ぐらいじゃない?
一状態を特定できない複数選択対象なんぞいくらでもあろうが。
動的に変化するUIってXAMLでどうやって定義するの? DOMみたいな機構あるの?
UIクラスとタグを関連付けるだけだろ
>>639 アニメーションとしてXAMLで定義する方法もあるわけだが
WindowsFormsの方が格段に使いやすいじゃん。WPFって存在意義不明。
日本語テキストの描画方法を調べてるんだが、 やっぱりサポートがいまいちだな。 縦書きとかルビとか禁則処理とかが楽にできると 面白かったんだけど。 TextBlockとか全然使えねえ。
>>626 完全に GDI に任せるだと、WM_PAINT 終了後に描画が行われているので
間に合う間に合わないどうこうは関係ない
Aero 有効だとウィンドウ部分のダブルバッファ (?) の反映が間に合ってない
って感じかもね
簡単に言うとイベント描画とフレーム描画の違いだろ? FPSに処理が間に合わないならスキップさせざるを得ないだろ。 処理を終えるまで描画をフリーズさせるわけにはいかない。
それにもともと3Dはフレームバッファで処理を行うのが常識で、 イベント描画処理はウィンドウメッセージをループでまわす処理だから、 CPUにかかる負荷が高い。
依存関係プロパティって何?
>>646 抽象的だが、あるプロパティがほかのプロパティに依存する関係。
たとえば、FontSizeはFontに依存してるだろう。
Aを変えたらBにも影響があると言ういわゆるUMLの依存関係を表現したものだろう。
なるほど しかしなんでそんなのが必要なのか全然わからん
>>648 GUIの自動更新とかに便利。
データオブジェクトの名前を表すプロパティが変更されたら、
それを表示しているテキストボックスの内容も自動変更するなんてことができる。
Data <-> UI 間の受け渡しコードをいちいち書かなくてすむ。
650 :
デフォルトの名無しさん :2008/01/02(水) 15:56:41
最近、職場で「出戻り寄生はけん」という言葉が囁かれています。 はけん契約を切られたにもかかわらず「次のはけん先でも切られてしまって生活できません」 などと 言って泣き落としで現場マネージャーにすら一切話がないまま再はけん契約した人のことです。 今月初め、半年前に切ったはけんが出社してきてマネージャーも含めみんなびっくりしました。 影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・ そんなことまでして自宅の近くのはけん先にこだわって人間として恥ずかしくないのですか。 仕事に必要な技術がなく勉強する気もないのを逆手にとって 「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には みんな凍りついていました。はけんでスキルアップとか言ってる癖に以前と同じように 技術を勉強する気はなく「それは私の仕事ではありません」の一点張り、 はけんで収入アップとか言ってる癖に時給は前回と同じで喜んで再契約。 結局、なんの努力もせずにはけんで安直に収入を得たいだけじゃないですか。 身分不相応な商品のローンを払うためにはけんだと当然足りない収入は親にも寄生して、 いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、 契約終了を通知されれば泣き落とし。悲惨な人生ですね。 氏んだほうがいいんじゃないですか。
651 :
デフォルトの名無しさん :2008/01/02(水) 19:44:07
質問、WPFのコントロールの描画動作はFormのそれよりも圧倒的に高速という ことですが、どのくらいの差でしょうか? VS2005でFormを使って作成していますが、Form上で別のダイアログを動かすと その後を白い空隙がサササササーーーと追いかけていくような状況は無くなる でしょうか? 現在はFormだとそういう感じで描画が非常に遅いと感じています。 環境はCore2Solo(@VAIO-G1)+Xp。
>>651 Vistaにすればそういうことはなくなる。
653 :
デフォルトの名無しさん :2008/01/02(水) 20:03:42
>>652 同じFormでもそうなんですか、てことは原因は何なのでしょう?
すみませんが、不勉強でよくわからないのです・・・。すんません。
セロリン 2.4GHz+Intel 865G+メモリ512MB+XP SP2のヘボPCでWPF試した限りではレインボーは最小限に留まった(皆無にはならない模様)。 まあWPFはDirectXでウィンドウ描画しているから(VistaのAeroもそうだっけ?)グラボの性能が悪いと意味ないと思う。 やっぱり↑のスペックだとWPFは厳しい?
>WPFのコントロールの描画動作はFormのそれよりも圧倒的に高速 これは幻想だな。 Vistaでもかなり重い処理のままので速度に期待するのは止めた方が良い。
現時点ではWPFはWinFormの代替にはならない。 それぞれに得意分野があるから当分かぶらないと思うよ。
>>654 DirectX でウィンドウ描画は Aero であって WPF じゃない
DirectX を利用して GPU に描画を任せる、が一番合ってるが
で、XP の場合は WPF を使う事で「一部だけ」GPU に任せられるようになるが
Vista ほど全面的にサポートされてる訳ではない
>>657 やはりWPFはVistaのAero表示前提か…。
現状Formだと僅か10個のコントロールを置いただけで起動時に描画が見えてしまうから、それが改善出来るのならWPFに鞍替えしようと思っていた。
Vista購入予定は全くないし、暫くは個人で使う小物に留める事にする。
ウインドウの表示領域にAeroとか関係ないだろ WPFはその中で動くゲームみたいなもん
>>658 WPFのコントロールがデスクトップに表示されるまでの処理
1. ウィンドウが持つバッファに各コントロールを描画する
2. バッファを合成して1枚のデスクトップ画像にする
1の処理はXPとVistaで速度が変化することはない。
2の処理はVistaのAeroだと、多少GPUを使う。影の描画はCPU処理だそうな。
結局CPUパワーが大事なんだな。 ツールボタンのアイコンを全部ベクトルデータにしたら重いかな。
自由にDirectXで描画できないかな WindowsFormsHost使えば簡単にできたけど、上にコントロール重ねたりできない
>>662 ある局面だけを見れば可能だろうけど、
細かい部分で使用が複雑になりすぎる希ガス。
例えばWPFはDirect3D描画中にビデオカードのリセットがかかったり、
リモートデスクトップクライアントのGPUに描画を引き継いだりしても
平然と描画を続けるんだけど (その代償としてメインメモリが食われてるが)、
Direct3Dで同じもの作れと言われれば死ぬだろう。
確かに自前のDirect3D描画とWPFとを組み合わせられればとてつもなくCoolだが
Coolじゃない部分の面倒が見切れんと思ったときのMSはそもそも機能ごと切るのが通例。
MSが検討しなかったってことは無いと思うよ。
それで非対応なんだから何か色々問題があったんだろう。
DirectXで自由に描画したいんだったら生のDirectX使えよ。
665 :
662 :2008/01/04(金) 01:00:44
Direct3D上でWPFのコントロール使えたら素敵だなと思った。 レンダーターゲットをBitmapSourceにコピーする力技を試してみたら一応動いた。 毎フレームBitmapSourceを作成してて、しかもDisposeできないのが気持ち悪い。
WPFで2Dのグラフとかかける?
皆さん親切 ありがと〜 でもどこから手をつけたらいいやら・・・ XMLってコンピュータにはやさしいかもしれないけど私にはやさしくないな みづらいよ
xmlはコンピュータというより、開発環境にやさしい言語
>>669 たしかにXMLやHTMLのような宣言ベースな言語だと、内容の増加に比例して可読性が悪くなっていくな。
業務でWPFを使ってるが、XAMLで定義するとデバッグが限りなく不可能なので、パーシャルクラスで実現しほうが良い気がしてる。
(今やってるのはMSの方針にそってXAMLで定義してるが地獄だ・・)
WPFで書いてXAMLで出力、これ最強
ExpressionBlend使えば? XMLなり、XAMLなり人間がいじる必要ないでしょ。 ソフトが読み書きするためのもんだし。
SOAPの仕様はプログラマーの可読性を重視したものではない。 PC環境にやさしい互換性を目指したものだ。 これを理解できれば、XAMLで開発するのは開発環境依存だと すぐに気がつくだろ。
HTMLなんて人にも環境にもやさしくないんだぜ?
XMLは分割して定義するのができないから、数百行の関数や 数百のメソッドを持つクラスを作るような形になってしまうな。 特にXAMLは機能を詰め込みすぎたためか、余計症状が酷い。
ResourceDictionary使えばある程度分割できるんじゃない?
>>676 <xsl:include/> が欲しいということか
WPFの入門書、いいのがあったらおしえてください
顔文字uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
682 :
680 :2008/01/06(日) 21:32:38
そりゃWPFだってDirectX9だし
>RenderToTextureメソッドを使うと って自分で言ってるじゃないか その通りにアンマネージでもやればいいだろ
そんなくだらないことのためだけにDirectXを一から覚えるなんて見上げたもんだ
686 :
680 :2008/01/06(日) 21:59:36
688 :
680 :2008/01/06(日) 22:23:24
古いSDK入れたら見つかりました。
>>687 WPFから話題ずれたのでそっちへ逝ってきます。構ってくれて
ありがとうございました。
>>686 DirectShowは旧Platform SDK/現Windows SDKへ移された。
690 :
680 :2008/01/07(月) 02:26:38
>>689 サンキュー。
古いのだとVisual Studio 2005でコンパイル通らなかったけど
Windows SDKのVMR9のサンプルはすんなり通ったよ。しかも
俺のやりたかったことほぼそのまんま。
細かい動作原理はまだ理解できてないが枠組みは判ったので
色々と応用できそうですなり。ちなみに10000円分の書籍達には
VMRについては一切記述がなかったのだが;;基本を学ぶ上では
非常に参考になるので良しとしよう。
WPFとどっちが簡単なのかも今後の研究課題にしようかと思います。
スレ汚し失礼しました。
XAMLって使わなきゃいけないの? 全部C#で書けない?
可能だけどめんどくさい
XAML は .NET の UI 関連のクラス定義を partial class として分離したものだから C# や VB なんかで全部書く事は当然できる が、XAML の syntax でないエラーは 本当にどこが悪いのか分かりにくくてたまらん
VC# Express使ってるんだけど Windowのpartial classのもう片方はどこにある?
obj のディレクトリに hogehoge.g.cs ってのがあるけど
なるほどあった クラスビューからは見えるのか しかし見ないほうが良かった
App.xamlってなんのためにあるの? メインメソッド自分で書きたいんで消しちゃっていい?
>>697 App.xamlはApplication.Resourcesを書くのが一番の目的。
メインメソッドを自分で書きたい理由がargsが欲しいだけならOnStartupをオーバーライドしとけ。
>>698 使用するウインドウを動的に変えたいんだ
>>699 protected override void OnStartup(StartupEventArgs e) {
if (e.Args.Length == 0) new Window1().Show();
else new Window2().Show();
// base.OnStartup(e);
}
exeにApp.xaml dllにWindow.xamlを置いてdllを参照し、 AppのOnStartUpでWindow.Show()してみたんだけど表示されなかった こういう使い方はもう完全アウトなのかね
いまいち何やってるか見えてこないが、やり方が間違ってるのだと思う。
WPFアプリケーションのプロジェクトを作った App.xaml.csはこうね protected override void OnStartup(StartupEventArgs e) { new Window1().Show(); base.OnStartup(e); } で、App.xamlのStartUpUriは消した クラスライブラリのプロジェクトを作って、WindowBase,PresentationCore,PresentationFrameworkを参照して Window1.xamlをそのプロジェクトにカット&ペーストした そうすると表示されない カット&ペーストする前は表示された
全然違った 表示されない原因は名前空間を変えてるからみたいだな
クラスライブラリのプロジェクトにWPFウインドウを追加するにはどうしたらいいんだろう
クラスライブラリでWPFウインドウを作ろうとしたら、 InvalidOperationExceptionが投げられて、ウインドウのコンストラクタの名前 Window() ここのところがハイライトされる形でデバッガが止まって、 >呼び出しスレッドは、多数の UI コンポーネントが必要としているため、STA である必要があります。 といわれたのだけど、これがどういう意味なのかググってもよく分からんので教えていただけないでしょうか
>>707 呼び出した側がMTAで実行されてるけど、呼び出された側はSTA上じゃないと実行できないYO!って意味
STAスレッド作ってやってその中で呼び出せば動くはず
なるほどSTATHeadをつければいいんですね ありがとうございました
2箇所もスペルが違う
ずっとSTATHeadと読んでたんですが実はSTAThreadだったんですね ようやく意味が分かりました
エスティーエーティーヘッド?
スタットヘッド
スペル間違う奴はたいていレベル低くてバグが多い
STATHedでもSTAThreadでもいいが、ないてるみたいだな
TAT <ェェェェェー!!
WindowのClientSizeってどこからとってくればいい?
718 :
デフォルトの名無しさん :2008/01/09(水) 11:06:18
気軽な質問なのですが、 WPFを使ったキラーアプリはどんなものがあるのでしょうか? こんなのができる、というのが知りたいだけなので、 フリーソフトでもかまいません。 また、.NET3.0から使うことができるようですが、 今後、WinFormを押しのけて、メインになりそうでしょうか?
MS Expressionかな、WPFアプリっていうと。
>>718 >今後、WinFormを押しのけて、メインになりそうでしょうか?
今のところ住み分けできそう。当分競合はしない。
ExpressionでUserControlとしてボタンとコンボボックスを作りました。 WinFormsアプリでElementHostを使用して上記のボタンとコンボボックスを表示しました。 しかしたまに上記のボタンとコンボボックスが描画されないときがあります。 アプリを起動して描画されれば以降もずっと描画されるのですが、 描画されないとそれ以降も描画されません。 ただしコンボボックスをドロップダウンするとボタンもコンボボックスも描画されます。 ElementHostのバグでしょうか? ElementHostを使用したサンプルなどがあるサイトなどご存知ないでしょうか。
>>719 Expressionは別にフォームでも実装できるようなもんだからなぁ・・・
やはりWPFというと、アニメーション、透明、3D、ビデオなどの統合された表示など使っていてFormじゃ難しそうなものでないとキラーアプリといえないんじゃないかと。
milcore早く仕様公開してくれよ!
>>718 残念ながら、まだ限られた人が実験的にアプリを作成している段階だな。
まだまだ当分、WinFormやWin32APIの時代が続きそうだ。
726 :
718 :2008/01/10(木) 04:33:37
質問に答えてくださり、感謝
まだ、これから、ということですかー。
用途的にも、他のUIライブラリや、APIとかぶらない、と
>>724 http://xamples.infragistics.com/xamShowcase.xbap Flashみたいに使えるんですね。
とはいえ、.NET3.0必須なら、Windows限定か。
Pen4とRADEON X700だと、重い?アニメーション時のCPU負荷や、起動メニュー切り替え時の固まりがすごいw
GPU使ってるならもっと軽くてもいいものですけど
> Ribbon
いや、俺、Ribbon好きですw
一般にはうけてないようですけど、何がどこにあるかわからないメニューよりかは断然いいと思うんですよね
なんでもそうだけど、使い慣れていないものは一般受けしない。 ある程度、普及しないと評価されないものだよUIは。 それに、誰でもわかりやすいUIをデザイン出来るデザイナーがいれば MSは喜んで採用してくれると思うよ。
Ribbonはカスタマイズさえできれば文句ないんだがなー。
>>728 カテゴリの区分はMSの押し付けで固定にするのはナンセンスだから、
カスタマイズは俺も必要だと思う。
それに、デフォルトや個人のカスタマイズを保存して別の端末で操作するときに
簡単に設定が移行できることも必要だ。
開発環境の設定を別の端末に移行するのに苦労した技術者俺だけではないだろう。
せっかく、MSがXML
>>つづきw MSがXMLを推進しているのに、自社製品でXMLを使った環境移行を行えないのは あまりにもナンセンス。 XMLの本来の使い方はこのようなところで発揮されるものを俺は思っている。
OnRenderSizeChangedをoverrideして つまみをひっぱったときに縦横比を保持したまま 中身全体をScaleTransformで拡大するようにしたんだが つまみをひっぱるときに一瞬つまんだサイズになった後狙ったサイズになる どうしたらその一瞬を見えなく出来るだろう
しかしリボン UI は安易にカスタマイズできるようにすると Office 2007 でユーザが Alt を押した時に絶望するかもしれん まぁ、とりあえず早いとこ MFC でのリボン UI サポートと Windows Forms/WPF でのリボン UI サポートを 標準提供してほしいところだ
リボンライブラリぐらい自社コードでお願いします!
734 :
718 :2008/01/11(金) 05:30:47
>>728 Office2007に関しては、クイックアクセスツールバーっていうキャプションバーに
旧来のOfficeのツールバーみたいのがくっついていて、
そこに簡単に機能が登録でき(例えば、メニューやボタンの右クリックから)、
また今までのようにカスタマイズもできます。
頻繁に使う機能はそこに追加してつかってます。
カスタマイズ性ものこしつつ、アクセスしやすくボタンを配置しているのは、よいUIだなーと思います。
ただ、クイックアクセスツールバーはボタンが小さいのと、低解像度だと狭いのがRibbonの難点w
735 :
718 :2008/01/11(金) 05:36:03
あ、あと、これは実際に使ったことないと、わからないのですが、 Ribbonはタブ切り替えが、面倒っていう意見がよくあります。 これは、クイックアクセスツールバーでも対処できますが、 標準で、よく使う機能、例えばテキストのフォント選択や装飾は、 テキスト選択時にフローティングウインドウで、すぐに変更できるようになっています。 まあ、対処療法的で、上部ツールバーだけで解決してない、と言われればそれまでですが、 よく考えられてはいると思います。
736 :
718 :2008/01/11(金) 05:36:36
スレ違いスマソ・・・
>>735 そのためのキーボード操作ではあるんだが……
慣れたユーザは今までも結局「画面など見ないで」Alt からのメニュー操作や
Ctrl-B などでのショートカットを使っていた訳で
この点は 2007 だと
・2007 Office system のキーストローク (リボン UI キー割り当て)
・Office 2003 のキーストローク (Office 2003 互換操作)
・ショートカットキー
が使える分手段が増えていたりする
Alt-H でホームに戻す→そのままボタンを押す、でも操作できる訳だから
タブ切り替えが面倒というのは、やっぱり大して慣れてないだけだと思う
むしろ慣れてきてからタブ切り替えが面倒に感じたよ。 たとえばグラフや図を編集するとき、 以前はフローティングツールバーと標準ツールバーが同時に表示されていたけど、 今はグラフツール・図ツールのタブとホームタブを何回も往復しなきゃならん。 オプションのタブは作業ウィンドウとして右側に表示すべきだな。
マイクロソフトに入社してUIなおしてこい
>>738 その辺りは練り込みが一歩足りない感じはあるよな……
741 :
デフォルトの名無しさん :2008/01/13(日) 02:53:07
WCFのことはこのスレじゃ駄目? それとも他に良いスレあるかな?
ここでも各言語スレでもどこでもいいと思うけど 答えられる人は少なそうだ(おいら含む MSDNフォーラムもWCFは閑古鳥だしな
WCFはともかく、WFやCardSpaceは全くいないな。. 俺的には3.0の機能より3.5の機能の方がはるかに多く使ってるよ。
何に使えるのかわかりにくいからな WPFは「見た目がよくなるのか〜」って使ってみる気になるんだが
なんか使えるコントロールが少ないのが気になる プロパティパネルがほしい アップダウンもなくね?
磨りガラスみたいな半透明効果はWPF/XAMLじゃなくてvista&DWMじゃないと標準では無理ですかね?
BlurBitmapEffectとかOpacityMaskとかじゃ駄目なん?
>>747 これだー!不透明で検索すればよかったのか…ありがとうございます
そして、XP で実装した時のあまりの重さに絶望する
>>748 であった
>>749 ……orz
自分の場合GPUが貧弱なんですが、XPの場合はってことはそういう問題ではないですか?
XPでウィンドウを半透明にするのってGPU積んでようが結局CPU描画じゃないっけか?
透過処理は.NET3.5でGPUのアクセラレーションが有効になったけど、それとは別の件ぽいですね
一応 XP でも GPU アクセラレーションが効くのは 3.0 からだけど XP の場合は Vista 程の恩恵がないので ドラッグしてウィンドウを移動したり(ry で悲しくなるんじゃないかな
XAMLでMenuItemのチェック状態に応じてStyleを変更したいんですがどうもうまくいきません。 <MenuItem Header="表示" IsCheckable="true" x:Name="Show" IsChecked="false"/> <Window.Style> <Style> <Style.Triggers> <Trigger Property="MenuItem.IsChecked" SourceName="Show" Value="true"> <Setter .../> </Trigger> <Style.Triggers> </Style> <Setter .../> </Window.Style> ってやると 「Style.Triggers セクション内で SourceName プロパティを設定できません。」 と怒られてしまいました。 何か解決策はありませんか?
>>754 MenuItem に対してスタイルを指定すればいい。
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter .../>
</Trigger>
</Style.Triggers>
</Style>
// ようやく規制解除…
>>755 でもそうするとWindowのプロパティの変更ができないと思うんですが。
Setter.TargetName もやっぱり使えないし。
>>756 Style の TargetType を Window にして、トリガを DataTrigger にすりゃいいんじゃね?
<DataTrigger Binding="{Binding IsChecked,ElementName=Show}" Value="True">
ってな感じで
>>757 おお、うまいこといけました。
ありがとうございます。
// 恥ずかしながらDataTriggerの存在自体知りませんでした……。
MSはとっととWPFをMFCに移植するべき。
そういや、SWTのWPF版ってC++/CLIだったんだな。 勝手にいろいろ期待してたんだが、ちょっと失望した。
Javaから呼ぶならどういう方法をとったとしても結局どっかでC++/CLI使うしかないんじゃないの
WPFのRichTextBoxの行間がデフォルトで二行分空いているようなんですが 一行にするにはどうしたらいいんでしょうか
それは行間じゃなくて段落間じゃないか? なら Pragraph.LineHeight 辺り
XAMLってソースコードを自動生成するんじゃないの? パーシャルクラスの片割れ見てもXAMLで書いたことがほとんど反映されてない XAMLで書いたことをソースコードで実現するためにどうすればいいかってのは 自分でちゃんと調べるしかないのかな?
>>764 ビルド後に、obj フォルダの中身を見てみ。
>>765 どれ?
g.cs のこと?
これにはXAMLで書いた情報はほとんど入ってないよ
ああ、XAML 相当の C# コードを知りたいって話だもんね。 それは生成されない。 .xaml から、.g.cs に XAML 中の Name 付き要素に相当するメンバと、 XAML を実行時にロードするコードが自動生成される。 .xaml 自体は、バイナリ化(.baml)されて、リソースに格納される。
>>768 それ、GUI には関係ないよ。
WF/WCF 系統の技術だし。
Silverlightで初めてXAMLを触ったんだけどさっぱり分からない。 触る前に何となくイメージしてたのは、例えばムービーの一覧表示みたいな画面で、XAMLの 何かに項目数を指定してから、個々のコンテンツのサムネイル、名前、説明みたいなデータ を流し込んで効果の実行を指示すると、凝った効果でコンテンツの一覧が表示されて、XAML を入れ替えるだけでJavaScript側の変更なしに見た目がガラッと変わるみたいなものだった。 けど、実際やってみるとJavaScriptのソースに直接XAMLを書いておいて処理してから流し込む ような事が多くて、XAML入れ替えただけじゃ済まない感じ。 これのどこがUI分離なのかさっぱり分からない。 XPathとかバインディングとかあるらしいけど、これを使えば状況が変わるんだろうか?
>>770 WPF だとデータバインディング使って分離できるんだけど、
Silverlight だと WPF のサブセット取るときにデータバインディングが消えたのよね。
>>771 そうなのか……。Javaだと思ってたらJavaScriptだったみたいな気分です。
ついでにお尋ねしますが、さっきの例で項目の雛型をXAMLの中で記述して、
それをJavaScriptでまとめて読み込んで、必要な数だけコピーして、変更が
必要な要素だけ変更してからXAMLに再度流すような事はできますでしょうか?
せめて、デザイン的な微調整はXAMLの編集だけで済むようにしたいと思って
いるのですが。我儘ですみません。
やれないことはないと思うけど、 正直、Silverlight 2.0 を待った方がいいかもしれない。 DLR 搭載と同時に、WPF チックなコントロールが追加されるらしいんで。 1.0 は、TextBlock 以外は Shape 系の要素ばっかりだし。 WPF のウェブ版じゃなくて、Flash アニメみたいなのを描くツールにしかなってない。
Downloader オブジェクトを使って、サーバ側のXAMLを取くるのならできるけど
あとは取ってきた XAML を CreateFromXaml で Contents にロードすればいいお
2.0はまだまだ先のようなので色々試してみます。 ありがとうございました。
本人の宣伝乙
本人の宣伝じゃねーよ くだらん
本人の宣伝としてもありがとう
WPFでDataGridView相当のを自作しようと思ったらXAML直書きしないと駄目なん? VS2008のデザイナでそれはキツい…… その内プラグインとかで強化されるかなあデザイナ
784 :
783 :2008/02/17(日) 22:28:25
ああ、デザイナが強化されるって話じゃなくて今後追加される標準コントロールの話ね。
786 :
781 :2008/02/19(火) 21:58:24
>>782-783 d
そもそもWPFのコントロールが足りねえのはアレかな、ブラウザとの絡みかねやっぱ
でも.NET1.1時代に逆戻りした感じ
>>782 のコンポーネントはよさげであるけども、改造する必要が出て来た時に躊躇しちまいそう
やっぱ最初にVS2008に色々期待しすぎたかねえ
補完が強力なのは解るけども、それでもXAMLのTemplateとかごちゃごちゃ書きたくねえよ
オレみたいなお手軽プログラマ向けに、敢えてXAML排除したサンプルとか落ちてないものか
XAML使わないと超面倒
788 :
デフォルトの名無しさん :2008/02/20(水) 01:10:49
IE専用なのコレ?
んなことない。単体アプリ作れる
XBAP としても動く必要があるからなぁ
791 :
781 :2008/02/20(水) 23:07:07
>>787 アレより面倒なのかよ!!!
つか折角C#3.0がスクリプト方面つーかイイ意味でいい加減になってきてるっつーのに
M$は開発を一体どうしたいんだ
XAMLはポトペタより高度なことが出来るのは確か しかし使いにくい
BlendとVSのXAMLエディタの中間ぐらいのツールがあればいいんだな。
むしろBlendがVS2008に吸収されるモンだと思ってた俺 てか言語仕様どうでもいいから普通に使う分には十分な設定が自動生成されて欲しい それで足りない分は直いぢりも吝かではない
htmlのいい部分の要素を取り入れようと設計したのなら、 直書きしても簡単でなければならない。 その目標は達成できなかったようだ。
直書き自体は難しくないんだが コントロールがデフォルトで真っ白で 枠を付けるにもBorderタグを直書きしなきゃいけないとか なんかめんどい 拡張性を高めていろいろ出来るようにしたけど 結局複雑になりすぎてちょっとしたこともやりにくいみたいな感じだ
MS的には自分でUIデザインまでやるなってことなんだろ。 コード書きの片手間にやるには複雑すぎる。 デフォルトで完成させたところで、XAML専門のXAMLerに投げられれば一番いいね。
すれば
XAML を使わずに WPF アプリを作るのは Windows Forms エディタなしで Windows Forms アプリを書くより コード量的に辛そうなんだがw いくら partial class で分離できるとはいえやりたくないな
C# 3.0 なら、 new StackPanel { Children = new UIElementCollection { new Button { Content = "button 1" }, new Label { Text = "label 1" }, }}; みたいな書き方できて、XML と大差なかったりもする。 ただ、Binding みたいにマークアップ拡張使うものはこれだと書けない。
いまさらな疑問だけど、 VS2008とExpression BlendはWPFで作られてるの?
>>802 Expression BlendはWPFで作られてる。
VisualStudioは、
外側はC++ネイティブ、
プロジェクト設定の画面とかはWinForms、
WPFポトペタ製作画面はWPFという感じにキメラ。
Spy++で見てみると分かりやすい。
>>803 サンクスです。
あれが作れると思うと勉強にハリが出る。
MSはExpression Blendで得たノウハウを公開すべきだ
しかし Expression Blend の XAML ソースを公開されてもやたら辛いだろうなw
ってすまん、Datagridviewの方だったか…
kaxamlのエディタがあまりにも軽快に動いてくれるものだから (しかもXAML補完付きで!) WPFでもこんなにきびきび動くエディタつくれるのかーと感銘を受けていたら WindowsFormsHostだったというオチ。 Blendのエディタはきびきび感が足りない用に思う。 3.5SP1でどれくらい改善されるやら。
Windows Formsでキビキビ動くエディタなんて作れるのか?w
WindowsFormsHostの中身をWindows.Formsで書かないといけないわけはないじゃあないか
そうだね。俺も書いて気づいた。 でもたとえば、ActiveXコントロールをホストするのに 間にWinFormsのクラスが挟まるのは気持ち悪い。
813 :
デフォルトの名無しさん :2008/03/05(水) 17:30:18
開発環境ってVista? XPでやるとテンプレートで作った時点でVS落ちるんだけど何かミスってる?
Windows7は全部WPFで作られるんだよね?
意味わかんねぇ。
Pentium DだけどGPUがオンボードだからかBlendが重すぎて使い物にならない 描画処理をGPUで処理するかCPUで処理するか選べるようにならないのかな?
オンボードとかお話にならない
Wii and WPF
>>816 Blendはどんな廃スペックPC用意しても、
入力に対するレスポンスが目に見えて遅れるので心配するな。
XElementかなんかを組み合わせてXAML生成しようと思うんだけど それを動的にコンパイルするにはどうすればいい?
XamlReaderクラス?
でいいんじゃね。
826 :
デフォルトの名無しさん :2008/03/15(土) 13:37:00
このスレの住人なら知っていますね、あの糞開発ツールのことを ・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている 糞だけど、政治的な理由で無理やり使わされているんですよね もういい加減、我慢するのはやめませんか? ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
Eclipseのことですねわかります
Borland製品だと思うよ。Togetherとか最悪。
ディスプレイの解像度を取得する方法を教えてください
>>828 うぅむそうなのか?
大昔にセミナーで見た時にゃー画期的だと思ったもんだが
>>829 つScreenクラス
ScreenはWinFormsのクラスですよね WinFormsを使わずにやる方法は無いものかと
デスクトップの解像度はWPF関係ないしP/InvokeでAPI呼び出せば?
てかそれ以前にScreen.PrimaryScreenはスタティックなんだが 別にForm派生内でしか使えない訳じゃないよ
>>833 ほとんど使わないSystem.Windows.Forms.dllを参照するのが嫌だって事じゃね?
そんな気にするような事じゃないとは思うがまあいいや つーかよくよく考えたら、ディスプレイ解像度切り替えるのは自分なんだから解らん方が変じゃね? もしWindowStyle&WindowStateでのフルスクリーンの話なら つActualWidth&ActualHeight 但し、俺んとこで実験してみたら何故か多めの数字が出た 検証めどいから誰か頼んだ
自動生成されるhoge.g.i.csのgとiって何の略なの?
>>836 generated / internal と予想
結局WPFでまともなアプリ開発してるやつおるん? XCEEDのなんたらGridみてもどうみても、もさもさなんだが。 テキストのリストビューが、DataTemplateを加えるだけで素敵なレイアウトのリストになってあら不思議なのはいいんだが、実際の使い勝手とそれを開発する工数の本質とあまり関係なくはないけどないような・・・
基本コントロールもサンプルも少ないから使う気にならん
これってゲームとかに向いてるの? RPGとかノベルとかまったり目の
そもそもデスクトップアプリを開発する需要が激減してるんだから、 WPFだろうが何だろうが新たに覚えようという人も殆どおらんだろう。 みーんなWebに行っちまった。
そのためのXBAPです まあ煩雑杉オワタなのは変わらんけど
結局Webアプリでどうしても出来ないローレベルアクセスが必要なものを 「仕方なく」ローカルマシンで動かすだけで、あとは全部Webに乗せる時代だからな。 「仕方なく」ローカルPCにインストールするWebアプリはAIRで。 WebアプリをリッチにするほうはFlash、3歩遅れてSilverlightで。 もうフルセットWPF&XBAPなんか出る幕は無いだろうね。
Webとか餓鬼のおもちゃだろ
今普段使ってるアプリ、 ブラウザー、開発環境、ファイラーなどなど、わざわざWebアプリとして動く意味がわからん。 データがあっち側にあるのはいいかも知れんけど。
ExpressionのExpress Edition作って無料配布すれば統一的に各アプリをユーザー側でスキン作成できていいと思うんだけども。 WinampとかJaneとか。XAMLPadとかじゃめんどくさいだけだし。
ButtonのContentにDateTimeを入れるような場合、Buttonに表示されるDateTimeの書式指定を変えたいような場合はどうしたらいいんざんしょ・・・
IValueConverterかな
FormのClientRectangleみたいに ウィンドウの中身をピッタリ例えば640*480にするにはどうすればいいの?
AIR対抗のSilverlight for Desktopが出る可能性があるから、 そっち待ったほうがいいかなーって思っちゃうんだよな。 SLのほうが軽いし他のOSでも動くし……。 AIRはコード書きにくいから期待してる。
SilverLightで住むやつはそっちのほうがいいかもね。 2.0だとWPFとどれだけ違うんざんしょ。
ウィンドウハンドル取得してAdjustWindowRectは可能だろうか?
サイズがなんピクセルとか考えなくて済むのがWPFでふぁ
それはない
>>853 試して報告してくれ。
ハンドルはWindowInteropHelperで取得できるから。
>>854 まあそういう面もあるが、解像度はともかく比率くらいは固定したいところだ。
自動サイズでキャンバス貼り付ければ サイズの取得はできるかと。指定はどうだろねー?
おまいらPowerStockうごかすとどのぐらいCPUくう? Core2Duoマシーンで常時5-60%逝ってるんだが(;´Д`)
Aeroは散々たたかれているが、3Dデスクトップ自体だめなのか、ほかのMacのQuartzとかLinuxとかどうなの?
マーケティング部門にとっては嬉しい新機能 エンドユーザにとっては正直どうでもいい エンジニアにとっては災厄の根源
>>861 UIのベクター化は普通にエンドユーザーにも恩恵あるだろ
Aero別に悪くないけどな。もう一年使ってるわ。 使用感が違うしスペックの足りないマシンならもっさりかもしれないけど、慣れると平気。 今から改めてMacOSXとかGNOMEに慣れるのと大差ないだろ。
MS自身がAeroの見た目しか宣伝しないからどうしようもないだろ。
一般人にはGUIって言葉すら通じないからしょうがない。
半透明効果云々でI/O負荷掛かり杉でイマイチだけど UI処理をGPUにお任せするって方向性は正しいと思うよ Aeroで見た目効果にコダワったのが敗因
アルファブレンディングって32bppのうち詰め物分の8bit使ってるだけでふぁ
Aero GlassのアニメーションがMacみたいに派手でないから、 ティアリングしないのがいいんだとか言っても一般人には さっぱり伝わらないんだよね。 こけおどしであっても、今より派手なアニメ効果をイントール時 デフォルトON、「パワーユーザー」さん向けにオフにできるように しといたらここまではネガキャンされなかったかも。
Deep Color対応のPC用ディスプレイは普及するんじゃろか
>>869 それはそれで2chとかの自称中級ユーザーとかには叩かれそうだなw
まずはGDIとWinGの辺りから説かないとなw
ティアリングって描画のvsync同期と関係しているのであって、 描画の派手さには関係ないような気がするんだけど。
従来に比べたらメモリも食うから、派手で目立つメリットがないと受け入れにくいでしょ。 945Gに合わせなければもっと派手にできたんじゃない?
どっちかっつと全ウィンドウを馬鹿正直にバッファに持つってー思想が間違いだったんでね? なんぼマシンパワー余ってるつーたってメモリにゃ限りがある訳で
共有コンテキストだと結局誰かが弄るたびに描き換えでは
描画終わったあとなら、ウィンドウ1枚でバッファはせいぜい2〜4Mだろ。 ウィンドウ動かすたびにGDIで再描画かけるより、中身が同じなら移動分はDirectXで合成し直す方がいいって判断したんでしょ。
デスクトップのこと忘れてねえかそれ それにビデオカードなら独立して256Mとか使えるけど統合型だと結局メモリ圧迫する
結局トレードオフだろ メモリは多めに食うけど、Aeroオンだと確かにCPU負荷はオフのときに小さい
オフのときに比べて、ねorz
WPFって別にAeroと関係なくね? XPでも動くんだし。
WPFがXP上でも動くのは、ApacheがCygwin上でも動くみたいなもんだぞ。
>>883 マーケティング的にはそんなイメージがあるけど、
WPFはXPでも、Vistaでもほとんど変わらないぞ。
見た目が違うのはWPFに限ったことじゃないし、
動作速度だってXPの方が速いくらいだ。
>881の一番下みたいにいきなりGPUに飛ばせれば負荷が軽くなるんだけど これが本当の意味のGPUを使ったアクセレーションなんだけどな
できるのに、最新のLeopardでも無効にしてるってことは、致命的な問題があるんだろ。 あまり詳しくないけど GPUのShaderってCPUに比べたらかなり低レベルなもんらしいし、 もっと賢くなるまで無理なんじゃないか。
Direct3D 10.1の仮想化&マルチスレッド対応に期待だな。 10.1がオンボードに載ってそれにWPFが対応するまで1年以上かかりそうだが。
AeroにしたところでいままでのアプリはGDIで描いてるわけだしな。
アプリもGPU描画に移行させたいならネイティブから使えるAPI用意すりゃいいのにな 今のところWPFしかないってのが
c#ネイティブだろ。
>>891 .NETのWindowFormsはwin32のラッパー
WPFはC#ネイティブとも言えるな
ウィンドウから 窓枠とかメニューを抜いた部分を指定のサイズにする命令はありますか?
"窓枠とかメニューを抜いた部分" にコントロールを一つ置いてサイズを指定し、 他の部分はサイズを自動計算させればいい。
897 :
デフォルトの名無しさん :2008/04/16(水) 13:11:35
まだ始めて間もないのですが、ちょっと教えてくださいまし。言語はC#です。 適当なCanvasを作って、このCanvasの上辺等に線を描きたいのですが、Canvasの大きさの変更に追従してほしいのですが 単純に Line クラスを作り、Line.X1 , X2 プロパティーの Canvas の幅を設定すると、大きさが変更されても追従してくれません。 使うクラスは Line である必要性はないのですが、こういった時はどうするのが一番てっとりばやいでしょうか?
CanvasのSizeChangedイベントで処理
899 :
897 :2008/04/16(水) 14:00:35
調べていて、ちょっと便利そうな機能があったのですが
<Canvas Name="canvasTitle">
<Line Stroke="Black" X1="0" X2="{Binding ElementName=canvasTitle , Path=ActualWidth}" Y1="5" Y2="5"/>
</Canvas>
これで当初の目的は(それ以上の内容も)一応果たせそうです、ただ動的に生成したくてXamlで書くとちょっと調子が悪いです。
これに対応するC#のコードはどうなっているの教えてもらえると助かります。
Xamlとクラスライブラリの対応表はどこかにないですかね・・・・どこをみてもXamlの説明ばかりです。
>>898 ども、それは自分もいちばん最初に考えて面倒くさそうだなと思っていました。
Border 使えばいいんじゃね?
スノー
いわゆる過疎
>>899 Border を使えばいいと思うけど、そのまま C# 化すると↓こんな感じ。
var line = new Line{
X1 = 0, Y1 = 5, Y2 = 5,
Stroke = new SolidColorBrush(Colors.Black),
};
var bind = new Binding{
Mode = BindingMode.OneWay,
ElementName = "canvasTitle",
Path = new PropertyPath("ActualWidth"),
};
BindingOperations.SetBinding(line, Line.X2Property, bind);
this.canvasTitle.Children.Add(line);
>>897 もう遅いかもしれんが、
LayoutTransformを使ってみてはどうだろうか?
C#のコードで Ellipseをcanvasの好きな位置に配置するにはどうすればよろしいでしょうか?
>>905 依存プロパティでぐぐれ。
一例↓。
var ell = new Ellipse { Width = 10, Height = 10, Fill = new SolidColorBrush(Colors.Black) };
ell.SetValue(Canvas.LeftProperty, x);
ell.SetValue(Canvas.TopProperty, y);
>>905 RenderTransform に値を設定すればいいです。
前から思ってたけど SetValueとかCanvas.SetTopって書き方回りくどいよね。 マクロ関数欲しいわ〜
>>908 まあ、どうしてもというなら拡張メソッドでどうぞ。
その手があったか。
>>906-907 ありがとうございます
Canvas.SetLeft(ellipse, left);
Canvas.SetTop(ellipse, top);
でもいけました、ありがとうございました
デザイナでキャンバスのサイズを決めると ウィンドウからはみ出します。どうすればリンクさせられるの?
Window.SizeToContent
914 :
デフォルトの名無しさん :2008/04/21(月) 21:45:52
GeometryとかShapeを継承して新しい形状作ったりしたいんだが 詳しいサイトor良書おしえてくれぃ
少なくともGeometryは無理(MSDNに明記) Shapeも多分そういう使い方は想定されてない
>>915 トンクス
CreateInstanceCoreは何を返せばいいんだろうとかずっと考えてた。
具体的には曲線(非ベジェ)をアニメーションさせたいんだが
今まで(Graphics.Draw***とか)と勝手がだいぶ違って困ってる。
やっぱWPFというとGUI関連の話ばかりになるけど、 VistaのWPFで問題なく印刷できてるよ〜って人います? 現在xpsファイル作れてDocumentViewerでプレビューもできるけど、 印刷すると毎回どこか一部の文字が消えたり、スプーラからジョブが消えたり 挙動が怪しい。プリンタ機種変えても同じ。 でも、XPS Viewer Essential Pack使うとちゃんと出てくる。 あと、PageOrientation.Landscapeって無視されません? うちだけなのかなぁ。
そういう話はWindows板でやってくれ
なんでだよ
ここはサポートセンターじゃねーんだよ
じゃぁおまえは疑問とか一切書き込むな
Imageコントロールに表示した画像をScaleTransformで拡大する時に 最近傍補間に(拡大されたドットが見えるように)することできる? RenderOptions.SetBitmapScalingModeってのを見つけたけど バイリニアより下に設定できないみたいだし…
>>922 つWindowsFormsHost+PictureBox
WindowsFormsHostの上にWPFのコントロールを表示することは無理か? いちいちFormsのコントロールの上にWPFコントロールを載せて……ってやればできるかな SwingはJava7から普通にできるようになるらしいが
> WindowsFormsHostの上にWPFのコントロールを表示することは無理か? 意義が良く分からない
ああ、上にって、重ね合わせの問題 WPFコントロールはトップレベルのウインドウに描画するが、 Formsコントロールの実体は子ウインドウ そうするとFormsのコントロールの上にWPFのコントロールを重ねても Formsのコントロールが上に表示されてしまう って話。上に来たWPFコントロールは自動的に子ウインドウになるとかやってくれればいいのに パフォーマンスはまた別問題として
HwndSource じゃ駄目?
Formと比べるとWPFのデザイナがイマイチなんだが(イベント登録が手動だったり) 次期バージョンはいつ出るんだろう?
イベント登録はWPFのほうが楽だと思うけどなぁ。 慣れると逆にFormのほうがめんどくさいよ。 その代わり、デザインだアニメ−ションだバインディングだと凝り始めると、 ややこしさが等比級数的に増していくような。
XAMLは、ツールを意識してデザインされた割には、 ツールが出揃っていない。
そりゃー誰も使ってないし。 Vistaが大失敗した + 新規開発される世の中のサービスのほぼ全てはWebアプリ
ワロタ
>>929 言語仕様的にどうこう言うより、IDEの支援が貧弱なボーヤなのが問題
誰かブルーワーカー持ってこいと
たまにしか使わないようなコントロールのイベント名探すのめんどいし、 やっぱメニューからイベント挿入出来る機能も欲しいな。
目的別インテリセンスを付けるべき
タブコントロールはひでーよ。
これって何が目的なんだろ xamlで誰か作って、使いまわしが目的なのか?
XAMLで作ってるとC#とかのコードをできるだけ使いたくなくなるから困る。
それは言えてるw 同じことをコードで書くとクドくなるんだよな。でもデバッグはしやすい。
勉強し始めたばかりだけど、Bindingは何気に便利そうね。 RenderTransformやアニメーションがヌメヌメ動くのも楽しい。 画像をグリングリン動かしてもCPU負荷がほとんど無いのもいいね。
逆に言うとそれくらいしかやることがない罠 表系のコントロールが弱っちいから、ちょっと凝ったことしようと思うと地獄のように面倒くなる
Win32での「大きいアイコン表示のリストビュー」に相当するWPFのコントロールって WrapPanelでいいのかな?
ListViewだろ 恐ろしく柔軟なコントロール
MSはもうちょっとWPFに力入れてくれないもんかな
そなの? MSDN斜め読みしたけど、ヘッダ付きの詳細表示くらいしかできない印象があった。
resx内のリソース使えないのかよ・・・ シコシコとXMLテキストで定義書いてリソース管理するなんて前時代的だって。 XAML用リソースエディタ付けれ。
>>946 DataTemplate 覚えたらやれること格段に増える。
マジで柔軟。
>>947 リソースはアプリと同じフォルダに生でおけって事っぽいね。
いろいろ実験して分かってきた。 ListView.ItemsPanelでアイテムの並び方 ListView.ItemTemplateで個々のアイテムの表示を決めるのね。
もう、Windows Formsなんかいらんから、 C++/CLI Express for WPFを作ってくれよ。
おー、なかなか素敵。 これがVistaと同時に発表されてたら状況は変わってたよな〜
WPF用のNotifyIconクラスとか追加されるん?
ダメだよぉー。どんな簡単なことでもぉー、ゆうやく振り切ってSystem.Windows.Forms.Notifyiconだ。
betaだと入れられる環境ないので勇者のレポを楽しみに待ってます(´・ω・`)
うわああ、俺的にこのアップデートは神だ
最近のMSの神技術は一般人が忘れた頃にやってくるな
ちょっとこれはすごいと思った。 軽くなればMSもWPF使ってくれるよね?
DirectXよりWPFのほうがいい? チャートかかせたいんだけど、スクロール機能つきで
ビジネスソフトなら、WPFがええのかな 質落ちるが、開発費も半減ならね
前にDirectXで折れ線グラフ作ったらめちゃめちゃめんどかった 描画は早かったけど WPFに期待
やったことないけど、Direct3Dだと 細長い長方形を線に見立てて描画する感じ?
D3Dにも線描画機能あるよ。 C++ COM周りが面倒だったり、描画に至るまでの下準備が面倒ってことかも。 WPFのデータバインドしとけば折れ線引けるってのが簡単すぎなだけな気も。
WPFの勉強を昨日から始めました。 WinFormsでいうMenuStripを実装したいのですが、 Menuクラスを使えば良いということまでは分かりました。 しかし標準項目の挿入という機能がありませんでした。 仕方なく自前で作っていこうと思い、MenuItemのHeaderを"ファイル(&F)"に変更しても思うとおりになりません。 InputGestureTextに"Alt+F"と設定しても思う通りになりません。 標準項目の挿入らしき機能の代替もしくはAlt + キーでのキーボードショートカットの実現方法について アドバイスをお願いします。
標準項目の挿入ってなんだ? アクセスキーは "ファイル(_F)" のように & の代わりに _ を使えばいい。
標準項目の挿入ってお決まりのメニュー項目を一気に追加してくれるのか。
これからはリモートでD3Dレンダリングみたいな変態プレイが易々とできるようになるわけっすか XNAの方に技術転用してくんないかな
そういえばD3DImageってリモート可能になるのかな?
973 :
デフォルトの名無しさん :2008/05/18(日) 22:55:31
>>973 Canvas.SetLeft(ellipse1, 50);
添付プロパティってやつ。
いま気づいたが、VS 2008 SP1ベータ入れたら、 <MenuItem Header="{Binding RelativeSource={RelativeSource Self}, Path=Command.Text}" Command="Open"/> みたいなメニューがベータ入れる前は日本語ででてたけど全部英語に・・・。
βが英語しか対応してないのは普通だけど、 成果物にまで影響出るのか。 どこかでロケール設定できる気もするけども。
>>976 ごめん。書いてなかったね。
日本語VSに日本語SP1ベータ入れたのよ。
ドラッグ&ドロップで特定のファイルのドロップを禁止する方法がわからんです。 WindowのDragEnterイベントで e.Effects = DragDropEffects.None としてみたけど、ドロップできてしまう。 Windows Formの時はこれで制御できたんだけど。
DragOverでe.Effects = DragDropEffects.Noneとしないとダメみたいだね 仕方ないので、DragEnterでドラッグ可能か判定して、 その結果をDragOverで返すようにしている
980です。
>>981 さん
DragOverでさらに e.Handled = true 入れたらできました。
ついでですが、画面のテキストボックスの上やタイトルバーだと
禁止マークが出るのですが、何とかならんでしょうか。
画面のどこにでもドロップできるようにしたいです。
テキストボックスなどの他の要素上なら、PreviewDragOver。 タイトルバーはわからん。
じゃ、ウメ
GPUはそのうちなくなるよw
いつまでもバージョンアップやらバグフィクスやらくりかえすんなら使えないんですけど.net
世の中のソフトウェアすべてが使えないとお嘆きですね、わかります
まぁ涸れ過ぎてどうもならなくなったJavaと言う例もあることだ 今頃メジャーバージョンうpしてもねえ
埋め
埋め
埋め
埋め
花金埋め。
Microsoft自体が終了しそうだ.net
その前に鯖シェア喰われてSolalisとかが氏ぬ方が先だな梅
OpenSolarisとOpenSparcがある限り、商用の方も生き残るさ 結局は開発者が興味を持つかが生き残りの鍵
MSが衰退して分社しても.NETは生き残るだろ。WPFはわからないが。
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。