【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/08(水) 10:43:18.NET3.0もリリースされて盛り上がってまいりますた。
WPF on MSDN
http://msdn2.microsoft.com/en-us/netframework/aa663326.aspx
.NET3.0
http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx
WPF Mashup on YOUTUBE
http://www.youtube.com/watch?v=BUBOQFvh6yI
0682680
2008/01/06(日) 21:32:38DirectX 9(Managed)の方には動画テクスチャとかいう概念があって
Microsoft.DirectX.AudioVideoPlaybackのVideoにある
RenderToTextureメソッドを使うと似たようなことができるらしい。
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/default.aspx
ttp://www.microsoft.com/japan/msdn/directx/japan/dx9/AVCS.aspx
じゃーManagedでない方はできないのか??? 予想では
DirectX Graphics の Direct3DのAPIと
DirectShow の VMR (Video Mixing Renderer)とかいうのを
組み合わせればできそうな予感がしているのだが・・・
(10000円が無駄にならんことを祈る)
0683デフォルトの名無しさん
2008/01/06(日) 21:34:140684デフォルトの名無しさん
2008/01/06(日) 21:37:24って自分で言ってるじゃないか
その通りにアンマネージでもやればいいだろ
0685デフォルトの名無しさん
2008/01/06(日) 21:42:500686680
2008/01/06(日) 21:59:36それがRenderToTextureメソッドはアンマネージの方には
存在しないようなのだ。
んで、いろいろ探してみたら ありましたよ やっぱし
VMR (Video Mixing Renderer)のサンプルに(俺、ナイス勘)
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_m/directx/ref/ns/microsoft.directx.audiovideoplayback/c/video/video.asp
ソース : (SDK ルート)\Samples\C++\DirectShow\VMR\Cube
ふむふむ・・・俺が入れたのは最新版のSDKだから
C:\Program Files\Microsoft DirectX SDK (November 2007)
の下のSampleの下っと・・・・
「な、ない??!! DirectShowフォルダがねえええええ!!!!
Microsoftめええ Sample削りやがったなああああ」
0687デフォルトの名無しさん
2008/01/06(日) 22:09:58http://pc11.2ch.net/test/read.cgi/tech/1196150200/
0689デフォルトの名無しさん
2008/01/07(月) 02:00:40DirectShowは旧Platform SDK/現Windows SDKへ移された。
0690680
2008/01/07(月) 02:26:38サンキュー。
古いのだとVisual Studio 2005でコンパイル通らなかったけど
Windows SDKのVMR9のサンプルはすんなり通ったよ。しかも
俺のやりたかったことほぼそのまんま。
細かい動作原理はまだ理解できてないが枠組みは判ったので
色々と応用できそうですなり。ちなみに10000円分の書籍達には
VMRについては一切記述がなかったのだが;;基本を学ぶ上では
非常に参考になるので良しとしよう。
WPFとどっちが簡単なのかも今後の研究課題にしようかと思います。
スレ汚し失礼しました。
0691デフォルトの名無しさん
2008/01/08(火) 08:14:49全部C#で書けない?
0692デフォルトの名無しさん
2008/01/08(火) 08:16:550693デフォルトの名無しさん
2008/01/08(火) 08:33:09partial class として分離したものだから
C# や VB なんかで全部書く事は当然できる
が、XAML の syntax でないエラーは
本当にどこが悪いのか分かりにくくてたまらん
0694デフォルトの名無しさん
2008/01/08(火) 08:37:46Windowのpartial classのもう片方はどこにある?
0695デフォルトの名無しさん
2008/01/08(火) 08:41:470696デフォルトの名無しさん
2008/01/08(火) 08:42:29クラスビューからは見えるのか
しかし見ないほうが良かった
0697デフォルトの名無しさん
2008/01/08(火) 11:20:41メインメソッド自分で書きたいんで消しちゃっていい?
0698デフォルトの名無しさん
2008/01/08(火) 12:28:12App.xamlはApplication.Resourcesを書くのが一番の目的。
メインメソッドを自分で書きたい理由がargsが欲しいだけならOnStartupをオーバーライドしとけ。
0699デフォルトの名無しさん
2008/01/08(火) 12:58:21使用するウインドウを動的に変えたいんだ
0700デフォルトの名無しさん
2008/01/08(火) 13:14:52protected override void OnStartup(StartupEventArgs e) {
if (e.Args.Length == 0) new Window1().Show();
else new Window2().Show();
// base.OnStartup(e);
}
0701デフォルトの名無しさん
2008/01/08(火) 13:15:37なるほどそれでいいのか
ありがとう
0702デフォルトの名無しさん
2008/01/08(火) 15:31:56dllにWindow.xamlを置いてdllを参照し、
AppのOnStartUpでWindow.Show()してみたんだけど表示されなかった
こういう使い方はもう完全アウトなのかね
0703デフォルトの名無しさん
2008/01/08(火) 15:36:590704デフォルトの名無しさん
2008/01/08(火) 15:40:39App.xaml.csはこうね
protected override void OnStartup(StartupEventArgs e)
{
new Window1().Show();
base.OnStartup(e);
}
で、App.xamlのStartUpUriは消した
クラスライブラリのプロジェクトを作って、WindowBase,PresentationCore,PresentationFrameworkを参照して
Window1.xamlをそのプロジェクトにカット&ペーストした
そうすると表示されない
カット&ペーストする前は表示された
0705デフォルトの名無しさん
2008/01/08(火) 16:24:37表示されない原因は名前空間を変えてるからみたいだな
0706デフォルトの名無しさん
2008/01/08(火) 17:20:480707デフォルトの名無しさん
2008/01/08(火) 17:39:56InvalidOperationExceptionが投げられて、ウインドウのコンストラクタの名前
Window()
ここのところがハイライトされる形でデバッガが止まって、
>呼び出しスレッドは、多数の UI コンポーネントが必要としているため、STA である必要があります。
といわれたのだけど、これがどういう意味なのかググってもよく分からんので教えていただけないでしょうか
0708デフォルトの名無しさん
2008/01/08(火) 17:53:43呼び出した側がMTAで実行されてるけど、呼び出された側はSTA上じゃないと実行できないYO!って意味
STAスレッド作ってやってその中で呼び出せば動くはず
0709デフォルトの名無しさん
2008/01/08(火) 18:38:38ありがとうございました
0710デフォルトの名無しさん
2008/01/08(火) 19:08:420711デフォルトの名無しさん
2008/01/08(火) 19:39:16ようやく意味が分かりました
0712デフォルトの名無しさん
2008/01/08(火) 20:05:130713デフォルトの名無しさん
2008/01/08(火) 20:57:010714デフォルトの名無しさん
2008/01/08(火) 22:28:560715デフォルトの名無しさん
2008/01/08(火) 22:30:210716デフォルトの名無しさん
2008/01/08(火) 22:42:020717デフォルトの名無しさん
2008/01/09(水) 08:05:350718デフォルトの名無しさん
2008/01/09(水) 11:06:18WPFを使ったキラーアプリはどんなものがあるのでしょうか?
こんなのができる、というのが知りたいだけなので、
フリーソフトでもかまいません。
また、.NET3.0から使うことができるようですが、
今後、WinFormを押しのけて、メインになりそうでしょうか?
0719デフォルトの名無しさん
2008/01/09(水) 11:10:080720デフォルトの名無しさん
2008/01/09(水) 11:55:45>今後、WinFormを押しのけて、メインになりそうでしょうか?
今のところ住み分けできそう。当分競合はしない。
0721デフォルトの名無しさん
2008/01/09(水) 11:57:07WinFormsアプリでElementHostを使用して上記のボタンとコンボボックスを表示しました。
しかしたまに上記のボタンとコンボボックスが描画されないときがあります。
アプリを起動して描画されれば以降もずっと描画されるのですが、
描画されないとそれ以降も描画されません。
ただしコンボボックスをドロップダウンするとボタンもコンボボックスも描画されます。
ElementHostのバグでしょうか?
ElementHostを使用したサンプルなどがあるサイトなどご存知ないでしょうか。
0722デフォルトの名無しさん
2008/01/09(水) 22:40:54Expressionは別にフォームでも実装できるようなもんだからなぁ・・・
やはりWPFというと、アニメーション、透明、3D、ビデオなどの統合された表示など使っていてFormじゃ難しそうなものでないとキラーアプリといえないんじゃないかと。
0723デフォルトの名無しさん
2008/01/09(水) 23:15:220724デフォルトの名無しさん
2008/01/10(木) 00:48:433Dとか動画って部分がキラー要素になれるアプリってかなり限定的だと思うんだが(こういうのくらい?ttp://apples65.blog69.fc2.com/blog-entry-253.html)
使う側からすればRibbonの方が魅力的でない?まあOffice2007の評価は置いとくとして
アニメーションは重くならないならFlash程度のギミックは入れてみたいけどさ
それよりは音声合成/認識みたいなビジュアル以外のWPFの情報が増えてほしいな
0725デフォルトの名無しさん
2008/01/10(木) 03:25:32残念ながら、まだ限られた人が実験的にアプリを作成している段階だな。
まだまだ当分、WinFormやWin32APIの時代が続きそうだ。
0726718
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
一般にはうけてないようですけど、何がどこにあるかわからないメニューよりかは断然いいと思うんですよね
0727デフォルトの名無しさん
2008/01/10(木) 05:08:56ある程度、普及しないと評価されないものだよUIは。
それに、誰でもわかりやすいUIをデザイン出来るデザイナーがいれば
MSは喜んで採用してくれると思うよ。
0728デフォルトの名無しさん
2008/01/10(木) 06:35:550729デフォルトの名無しさん
2008/01/10(木) 08:17:36カテゴリの区分はMSの押し付けで固定にするのはナンセンスだから、
カスタマイズは俺も必要だと思う。
それに、デフォルトや個人のカスタマイズを保存して別の端末で操作するときに
簡単に設定が移行できることも必要だ。
開発環境の設定を別の端末に移行するのに苦労した技術者俺だけではないだろう。
せっかく、MSがXML
0730デフォルトの名無しさん
2008/01/10(木) 08:19:16MSがXMLを推進しているのに、自社製品でXMLを使った環境移行を行えないのは
あまりにもナンセンス。
XMLの本来の使い方はこのようなところで発揮されるものを俺は思っている。
0731デフォルトの名無しさん
2008/01/10(木) 11:12:49つまみをひっぱったときに縦横比を保持したまま
中身全体をScaleTransformで拡大するようにしたんだが
つまみをひっぱるときに一瞬つまんだサイズになった後狙ったサイズになる
どうしたらその一瞬を見えなく出来るだろう
0732デフォルトの名無しさん
2008/01/10(木) 17:22:07Office 2007 でユーザが Alt を押した時に絶望するかもしれん
まぁ、とりあえず早いとこ MFC でのリボン UI サポートと
Windows Forms/WPF でのリボン UI サポートを
標準提供してほしいところだ
0733デフォルトの名無しさん
2008/01/10(木) 22:44:340734718
2008/01/11(金) 05:30:47Office2007に関しては、クイックアクセスツールバーっていうキャプションバーに
旧来のOfficeのツールバーみたいのがくっついていて、
そこに簡単に機能が登録でき(例えば、メニューやボタンの右クリックから)、
また今までのようにカスタマイズもできます。
頻繁に使う機能はそこに追加してつかってます。
カスタマイズ性ものこしつつ、アクセスしやすくボタンを配置しているのは、よいUIだなーと思います。
ただ、クイックアクセスツールバーはボタンが小さいのと、低解像度だと狭いのがRibbonの難点w
0735718
2008/01/11(金) 05:36:03Ribbonはタブ切り替えが、面倒っていう意見がよくあります。
これは、クイックアクセスツールバーでも対処できますが、
標準で、よく使う機能、例えばテキストのフォント選択や装飾は、
テキスト選択時にフローティングウインドウで、すぐに変更できるようになっています。
まあ、対処療法的で、上部ツールバーだけで解決してない、と言われればそれまでですが、
よく考えられてはいると思います。
0736718
2008/01/11(金) 05:36:360737デフォルトの名無しさん
2008/01/11(金) 11:56:23そのためのキーボード操作ではあるんだが……
慣れたユーザは今までも結局「画面など見ないで」Alt からのメニュー操作や
Ctrl-B などでのショートカットを使っていた訳で
この点は 2007 だと
・2007 Office system のキーストローク (リボン UI キー割り当て)
・Office 2003 のキーストローク (Office 2003 互換操作)
・ショートカットキー
が使える分手段が増えていたりする
Alt-H でホームに戻す→そのままボタンを押す、でも操作できる訳だから
タブ切り替えが面倒というのは、やっぱり大して慣れてないだけだと思う
0738デフォルトの名無しさん
2008/01/11(金) 13:09:40たとえばグラフや図を編集するとき、
以前はフローティングツールバーと標準ツールバーが同時に表示されていたけど、
今はグラフツール・図ツールのタブとホームタブを何回も往復しなきゃならん。
オプションのタブは作業ウィンドウとして右側に表示すべきだな。
0739デフォルトの名無しさん
2008/01/12(土) 12:24:440740デフォルトの名無しさん
2008/01/12(土) 12:51:22その辺りは練り込みが一歩足りない感じはあるよな……
0741デフォルトの名無しさん
2008/01/13(日) 02:53:07それとも他に良いスレあるかな?
0742デフォルトの名無しさん
2008/01/13(日) 03:29:55答えられる人は少なそうだ(おいら含む
MSDNフォーラムもWCFは閑古鳥だしな
0743デフォルトの名無しさん
2008/01/13(日) 10:30:28俺的には3.0の機能より3.5の機能の方がはるかに多く使ってるよ。
0744デフォルトの名無しさん
2008/01/13(日) 11:40:38WPFは「見た目がよくなるのか〜」って使ってみる気になるんだが
0745デフォルトの名無しさん
2008/01/18(金) 22:24:50プロパティパネルがほしい
アップダウンもなくね?
0746デフォルトの名無しさん
2008/01/19(土) 16:01:050747デフォルトの名無しさん
2008/01/19(土) 16:46:490748デフォルトの名無しさん
2008/01/19(土) 16:50:48これだー!不透明で検索すればよかったのか…ありがとうございます
0749デフォルトの名無しさん
2008/01/19(土) 17:21:460750デフォルトの名無しさん
2008/01/19(土) 17:51:19……orz
自分の場合GPUが貧弱なんですが、XPの場合はってことはそういう問題ではないですか?
0751デフォルトの名無しさん
2008/01/19(土) 18:11:110752デフォルトの名無しさん
2008/01/19(土) 18:44:360753デフォルトの名無しさん
2008/01/19(土) 20:58:45XP の場合は Vista 程の恩恵がないので
ドラッグしてウィンドウを移動したり(ry で悲しくなるんじゃないかな
0754デフォルトの名無しさん
2008/01/24(木) 18:25:07<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 プロパティを設定できません。」
と怒られてしまいました。
何か解決策はありませんか?
0755デフォルトの名無しさん
2008/01/26(土) 23:11:39MenuItem に対してスタイルを指定すればいい。
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter .../>
</Trigger>
</Style.Triggers>
</Style>
0756デフォルトの名無しさん
2008/01/28(月) 06:20:10>>755
でもそうするとWindowのプロパティの変更ができないと思うんですが。
Setter.TargetName もやっぱり使えないし。
0757デフォルトの名無しさん
2008/01/28(月) 16:25:13Style の TargetType を Window にして、トリガを DataTrigger にすりゃいいんじゃね?
<DataTrigger Binding="{Binding IsChecked,ElementName=Show}" Value="True">
ってな感じで
0758デフォルトの名無しさん
2008/01/28(月) 16:45:31おお、うまいこといけました。
ありがとうございます。
// 恥ずかしながらDataTriggerの存在自体知りませんでした……。
0759デフォルトの名無しさん
2008/02/02(土) 19:10:000760デフォルトの名無しさん
2008/02/02(土) 19:17:08勝手にいろいろ期待してたんだが、ちょっと失望した。
0761デフォルトの名無しさん
2008/02/02(土) 19:31:590762デフォルトの名無しさん
2008/02/05(火) 05:00:10一行にするにはどうしたらいいんでしょうか
0763デフォルトの名無しさん
2008/02/05(火) 09:21:47なら Pragraph.LineHeight 辺り
0764デフォルトの名無しさん
2008/02/05(火) 16:51:27パーシャルクラスの片割れ見てもXAMLで書いたことがほとんど反映されてない
XAMLで書いたことをソースコードで実現するためにどうすればいいかってのは
自分でちゃんと調べるしかないのかな?
0765デフォルトの名無しさん
2008/02/05(火) 19:08:32ビルド後に、obj フォルダの中身を見てみ。
0766デフォルトの名無しさん
2008/02/05(火) 21:57:03どれ?
g.cs のこと?
これにはXAMLで書いた情報はほとんど入ってないよ
0767デフォルトの名無しさん
2008/02/05(火) 22:12:30それは生成されない。
.xaml から、.g.cs に
XAML 中の Name 付き要素に相当するメンバと、
XAML を実行時にロードするコードが自動生成される。
.xaml 自体は、バイナリ化(.baml)されて、リソースに格納される。
0768デフォルトの名無しさん
2008/02/07(木) 09:17:55ttp://japan.cnet.com/news/ent/story/0,2000056022,20366701,00.htm
0769デフォルトの名無しさん
2008/02/07(木) 09:28:28それ、GUI には関係ないよ。
WF/WCF 系統の技術だし。
0770デフォルトの名無しさん
2008/02/07(木) 11:48:02触る前に何となくイメージしてたのは、例えばムービーの一覧表示みたいな画面で、XAMLの
何かに項目数を指定してから、個々のコンテンツのサムネイル、名前、説明みたいなデータ
を流し込んで効果の実行を指示すると、凝った効果でコンテンツの一覧が表示されて、XAML
を入れ替えるだけでJavaScript側の変更なしに見た目がガラッと変わるみたいなものだった。
けど、実際やってみるとJavaScriptのソースに直接XAMLを書いておいて処理してから流し込む
ような事が多くて、XAML入れ替えただけじゃ済まない感じ。
これのどこがUI分離なのかさっぱり分からない。
XPathとかバインディングとかあるらしいけど、これを使えば状況が変わるんだろうか?
0771デフォルトの名無しさん
2008/02/07(木) 11:51:17WPF だとデータバインディング使って分離できるんだけど、
Silverlight だと WPF のサブセット取るときにデータバインディングが消えたのよね。
0772デフォルトの名無しさん
2008/02/07(木) 12:36:26そうなのか……。Javaだと思ってたらJavaScriptだったみたいな気分です。
ついでにお尋ねしますが、さっきの例で項目の雛型をXAMLの中で記述して、
それをJavaScriptでまとめて読み込んで、必要な数だけコピーして、変更が
必要な要素だけ変更してからXAMLに再度流すような事はできますでしょうか?
せめて、デザイン的な微調整はXAMLの編集だけで済むようにしたいと思って
いるのですが。我儘ですみません。
0773デフォルトの名無しさん
2008/02/07(木) 12:50:41正直、Silverlight 2.0 を待った方がいいかもしれない。
DLR 搭載と同時に、WPF チックなコントロールが追加されるらしいんで。
1.0 は、TextBlock 以外は Shape 系の要素ばっかりだし。
WPF のウェブ版じゃなくて、Flash アニメみたいなのを描くツールにしかなってない。
0774デフォルトの名無しさん
2008/02/07(木) 12:51:590775デフォルトの名無しさん
2008/02/07(木) 12:53:280776デフォルトの名無しさん
2008/02/07(木) 13:13:05ありがとうございました。
0777デフォルトの名無しさん
2008/02/08(金) 08:41:27ここ見れば基本的なことは全部書いてあるじゃん
すごく時間を無駄にしたよ
テンプレに入れといてくれよ
0778デフォルトの名無しさん
2008/02/08(金) 09:15:280779デフォルトの名無しさん
2008/02/08(金) 09:35:53くだらん
0780デフォルトの名無しさん
2008/02/08(金) 09:39:450781デフォルトの名無しさん
2008/02/17(日) 21:35:27VS2008のデザイナでそれはキツい……
その内プラグインとかで強化されるかなあデザイナ
0782デフォルトの名無しさん
2008/02/17(日) 22:23:18ListBox + ItemTemplate かなぁ。
でも、↓こんなのならある。
http://blogs.msdn.com/hiroyuk/archive/2007/01/26/xceed-datagrid-for-wpf.aspx
■ このスレッドは過去ログ倉庫に格納されています