1 名前:デフォルトの名無しさん [2009/01/09(金) 22:14:36 ] あたらしいGUI FW、WPFについて語るすれ。 .NET3.5 SP1 もリリースされて盛り上がってまいりますた。 Visual Studio 2008 ttp://www.microsoft.com/japan/msdn/vstudio/ Microsoft .NET Framework 3.5 Service Pack 1 ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja WPF Toolkit - October 2008 Release ttp://www.codeplex.com/wpf/Release/ProjectReleases.aspx?ReleaseId=15598 関連スレ Microsoft Silverlight 2.0 その3 ttp://pc11.2ch.net/test/read.cgi/tech/1227324813/ 過去スレ WPF(XAML,XBAP,.NET3.5)GUIプログラミング ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/ 【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】 ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/
206 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 11:49:00 ] エラー文抜き出して検索すれば早いだろうに。 detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1115761341 それにスレチな。
207 名前:デフォルトの名無しさん [2009/02/14(土) 13:05:02 ] >>204 自己解決しました。 いったんUserControlを新規項目として追加して UserControlをWindowにxaml側、cs側両方で書き換えたら 普通に new →show()で表示することができました。 でもなんでIDEから簡単にwindow追加できないんだろう。
208 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:22:51 ] >>206 それはもうやりました・・
209 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 06:33:21 ] ARToolkit+WPFで今度はミクを溢れ出させてみました(というか簡単な物理シミュレーション)。 www.nicovideo.jp/watch/sm6155021 sites.google.com/site/augmentedrealitytestingsite/download (ソース:ARWithWPFMikuEmitted.zip) WPFの3Dにもようやく慣れてきた・・・
210 名前:デフォルトの名無しさん [2009/02/15(日) 14:47:42 ] ListBoxの選択色を変えるにはどうしたらいい?
211 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 15:59:42 ] msdn.microsoft.com/ja-jp/library/system.windows.controls.listbox.itemcontainerstyle (VS.95).aspx このプロパティに、TemplateプロパティにListboxItemをターゲットとするコントロールテンプレートを割り当てるSetterを含むスタイルを与えてやればよい、と思う。そのコントロールテンプレートの中でTriggerを設定するのね。 ListViewの場合でしかやった事がないので外してるかもしれないけど。
212 名前:211 mailto:sage [2009/02/15(日) 16:11:46 ] じゃなかった。 確か、ItemContainerStyleプロパティに割り当てるスタイル中で、<Style.Triggers Property="IsSelected" ...みたいにやれば良いという単純な話だった気がする。 何かの理由でデフォルトのコントロールスタイル中の同様のトリガーが優先されてしまうために コントロールテンプレートまで書き換えた事があったんだけど、多分普通は↑で済むと思う。
213 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:18:26 ] >>211 ,212 試してみる。ありがとー
214 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:18:31 ] もっと簡単にできる wpf listview selection colorでぐぐったらすぐ出てくるよ
215 名前:211 mailto:sage [2009/02/15(日) 16:31:34 ] 試してみたけど、やっぱりTemplateプロパティを書き換えるのも必要だね。 <ListBox> <ListBoxItem>Apple</ListBoxItem> <ListBoxItem>Orange</ListBoxItem> <ListBoxItem>Grape</ListBoxItem> <ListBox.ItemContainerStyle> <Style TargetType="{x:Type ListBoxItem}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}">
216 名前:211 mailto:sage [2009/02/15(日) 16:36:10 ] <Border Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> </Border> </ControlTemplate> </Setter.Value> </Setter>
217 名前:211 mailto:sage [2009/02/15(日) 16:37:15 ] >>214 あれ、俺道化?まあとりあえず最後まで書くので必要なら使って。 <Style.Triggers> <Trigger Property="IsSelected" Value="true"> <Setter Property="Background" Value="LimeGreen" /> </Trigger> </Style.Triggers> </Style> </ListBox.ItemContainerStyle> </ListBox> コントロールテンプレートはPresentationFramework.Classic.dllからReflectorのBAML Viewewプラグインを使って抜き出して、トリガー関係をごっそり削除したもの。関係ないところまで消しちゃっている(IsEnabledのトリガーとか)ので、実際にはもう少し色々試してみて。
218 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 00:55:57 ] リアルタイムで受信したデータに応じて色々表示変えたいんだが、データに応じてUIElementを色々入れ替えたりすると言うことでよいのかな?Rectangleの色だけを変えるとかってできましたっけ?
219 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 12:51:56 ] Vistaで動かすともっさり、XPだとまあまあなアプリ Windows7だとどうなりますか?快適に動くでしょうか?
220 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 13:03:24 ] 一般論として最適化はされているみたいだね。 俺は、古いPCにWindows 7を入れたので細かいパフォーマンスの比較はできないけれど、 WPFアプリの起動は確実に速くなっている。
221 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 18:17:05 ] >>214 って結局どんな方法? ググって見たけど、デフォルトのテンプレートが使っているリソースのキー名で ブラシをListBoxのスコープのリソースで定義する方法しか出なかった。 チートっぽいけどこれ?
222 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 19:10:53 ] >>218 Rectangle.Fill変更すれば変わるっしょ
223 名前:デフォルトの名無しさん mailto:sage [2009/02/16(月) 23:30:51 ] >>222 グラフのようなもの変えるんだとLineElementをつくり変えて入れ替えないと駄目なのかね? とりあえずうごくんだがなんか無駄な子としてるような気が・・・
224 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 07:35:15 ] 折れ線変化させたりする程度なら、 Polyline置いてdependency property使えば瞬殺だと思うんだが
225 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:01:40 ] WPFでアンチエイリアシングを無効にする方法 ttp://blogs.msdn.com/hiroyuk/archive/2009/02/16/9425120.aspx >これを無効にするには、RenderOptions.EdgeMode="Aliased" を使います。 これってフォントには応用できない?単純にテキストボックスに対してこれやってもなんも変わんなかった
226 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:10:32 ] msdn.microsoft.com/ja-jp/library/aa970908.aspx#guidelines リンク先の直前に >Windows Presentation Foundation (WPF) は常にアンチエイリアスされたテキストを >生成します。生成されたテキストが静的な場合は、ピクセル スナップされます。これに >より、グリフがピクセルグリッド上に直接配置されて、アンチエイリアスされたテキス >トの外観が鮮明になり、テキストがよりクリアになります。ただし、Windows Presen >tation Foundation (WPF) が、スクロール、スケーリング、アニメーション化された変 >換など、アニメーション的な動きを検出すると、そのような動きが完了するまでピクセ >ルスナップはオフになります。アニメーションやスクロールの動きが完了すると、ピク >セル スナップがゆっくりと復活します。 だそうなので、アンチエイリアスはするけれど、ぼやけないように気は使ってくれるみたい。 だから気にしないで良いんじゃない?
227 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:37:37 ] 気になっちゃうんだもん・・・ WindowsFormsHost 使えばいいんだけどさ
228 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:42:45 ] 俺はむしろ、ClearType万歳、アンチエイリアス万歳!だけどなあ。
229 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:49:20 ] さすがにビットマップフォント使えばアンチエイリアシングされないと思わない?
230 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 18:55:04 ] Bitmapに描画すればアンチエイリアスはかかるかも知れないけど ClearTypeにならないんじゃね? RGBディスプレイで作った画像がBGRディスプレイで見ると悲惨になるような設計されてないはずだし。
231 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:19:01 ] blogs.msdn.com/adam_nathan/archive/2005/10/24/using-com-interop-to-create-a-wpf-visualization-for-windows-media-player.aspx ここからダウンロードできるwpfwmp.zipが壊れているんだけど、誰か壊れていないやつを ダウンロードしていて、今も持っているって人いない?はじめから壊れていたらどうしようも ないし、持っている人が偶々このスレ見ているなんてそもそも可能性がすげー少ない話なんだが。 Adam Nahanさんにも怪しい英語でメールしたけど、返事が来ない・・・ C#+WPFでWMPの視覚エフェクトが作れるってすごく面白そうなんだけど、COMの知識がないから COM InterOpもわけわかめなんだよね。一週間待ってwpfwmp.zipが手に入らなかったら勉強 してみる。 それまでに、 >Make your class implement the IWMPEffects COM interface. >I manually defined this interface in C# based on the IDL definition in the Media Player SDK. をわざわざやってくれる奇特な人も募集中。Windows Media Player 10 SDKは msdn.microsoft.com/en-us/windowsmedia/bb190309.aspx から手に入るみたい。
232 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 20:29:19 ] idlがあるならmidl.exeとtlbimp.exeでdll作れよ
233 名前:231 mailto:sage [2009/02/17(火) 21:11:56 ] >232 ちょっと調べて知恵をつけて midl /newtlb effects.idl してみたんだけど、effects_i.c, effects_p.c, dlldata.cしかできない・・・ これ以上は初心者板向けになりそうだから、一週間たってwpfwmp.zipが手に入っていなかったら まじめにCOMを勉強するわ。
234 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:44:31 ] >>224 殺しちゃうのかよw
235 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 21:46:25 ] ScrollViewer のインスタンスの垂直スクロールバーが 一番下まで来たかどうかを調べる方法って、どうすればいいんでしたっけ? やりたいことは ScrollViewer に対して、コントロール内で PageDown() メソッドを 呼んだあと、もうこれ以上ページを下におろすことができないかどうかを知りたい。 でもなんだかうまくいきません。 ぐぐっても出てこないし、歯がゆい。 もしご存知でしたら教えてください。。。。。。
236 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:51:36 ] WPF 勉強中なんですが、 Windows に Image を張って、 そこに、jpg 画像ファイルを読み込みました。 この画像ファイルに、文字列を書き込みをしたいんですが、 どのようにしたらよいでしょうか? Image.Source から、DrawingContext を生成してなるのかな と思いますが、やりかたがわかりませんでした。
237 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:54:21 ] 画像にじゃなくて画像ファイルに?
238 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 22:56:16 ] 画像に、です すいません
239 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:02:28 ] >>235 HorizontalOffset/VerticalOffsetとScrollableWidth/ScrollableHeight
240 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:02:51 ] >>236 なんでもかんでもGraphcsで描くWinFormsとは根本的に考え方が違うんだよな 特殊な場合を除いて基本的にDrawingContextは使わない DrawingVisual作ってImageDrawingやGlyphRunDrawingを追加して RenderTargetBitmap.Renderが正当かな
241 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:09:31 ] Canvas使うとかAdorner使うとか色々あるぜ
242 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:15:13 ] いずれにしても元のImageSourceに直接描くのは無理 >>236 じゃないけど,最終的にRenderTargetBitmap以外の方法はあるのか知りたい
243 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:24:25 ] WPFのコントロールテンプレートで迷ってしまいました、どうもラジオボックスの連動がうまく行きません。 <Window.Resources> <Style TargetType="RadioButton" x:Key="Test_Style"> <Setter Property="RadioButton.FontSize" Value="20"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="RadioButton"> <StackPanel> <RadioButton x:Name="tet" Content="!" /> </StackPanel> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="True"> <Setter TargetName="tet" Property="IsChecked" Value="True" /> </Trigger> <Trigger Property="IsChecked" Value="False"> <Setter TargetName="tet" Property="IsChecked" Value="False" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <StackPanel VerticalAlignment="Center" HorizontalAlignment="Center"> <RadioButton x:Name="RadioButton_1" Style="{StaticResource Test_Style}" Content="RadioButton__1" IsChecked="True" /> <RadioButton x:Name="RadioButton_2" Content="RadioButton__2" IsChecked="False" /> </StackPanel>...
244 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:26:56 ] >>242 ImageDrawingは? 何をもって最終とするのか知らんが
245 名前:242 mailto:sage [2009/02/17(火) 23:30:47 ] 元の画像に文字を合成したImageSourceを得たいんでしょ その完成したImageSourceを作る段階
246 名前:>>189 mailto:sage [2009/02/17(火) 23:30:52 ] やりたいことは、普通にフォームにラジオボックスに2つ張った状態を目標にしています。 通常ならどちらか一方がチェックされれば、もう片方はチェックが外れるようにしたいです。 この方法では一度ならラジオボックスのチェックがどちらか一方に付くようになるのですが、 もう一度チェックしなおすと両方がチェックされた状態になってしまいます。 プロパティの値も実際に見てみたのですが、一度だけ成功していますが、それ以降は値が変化していないということになりました。 Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded MsgBox(Me.RadioButton_1.IsChecked & vbCrLf & Me.RadioButton_2.IsChecked) End Sub true:False Private Sub RadioButton_2_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles RadioButton_2.Click MsgBox(Me.RadioButton_1.IsChecked & vbCrLf & Me.RadioButton_2.IsChecked) End Sub False:True Private Sub RadioButton_1_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles RadioButton_1.Click MsgBox(Me.RadioButton_1.IsChecked & vbCrLf & Me.RadioButton_2.IsEnabled) End Sub True:False (ここで見た目は両方ともチェックされた状態になってしまうが、値は希望通り)
247 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 23:32:07 ] >>246 コレハンミスです。 よろしくお願いします m(_ _)m
248 名前:236 mailto:sage [2009/02/18(水) 00:01:49 ] RenderTargetBitmap でいけそうです。 ありがとうございました。 >>245 そのとおりです。 238は俺じゃないんだが・・・。 書き込んだのを忘れてるんだろうか。
249 名前:244 mailto:sage [2009/02/18(水) 00:08:35 ] DrawingImageだった 名前が紛らわしいよまったく
250 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:23:35 ] DrawingImageは保存できなくね?
251 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:25:49 ] >>248 その年でもう健忘症か? ほっとくと中川みたいになるぞ 病院いってこい
252 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 00:37:56 ] 保存は条件じゃないっしょ
253 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 03:22:56 ] コードでResourcesを設定して、XAMLからStaticResourceとして読み込んでいるんだけど デザイナ側はコードで設定される事を知らないので >読み込みで問題が発生しました >デザイナを読み込む前に修正しなければならないエラーがドキュメントに含まれています。エラーを修正してからデザイナを再度読み込んでください。 と言われてデザイナが読み込まれない。 このケースだとXAMLでリソースを定義してDynamicResourceとして読み込ませておいて、InitializeComponent後に設定するのが正攻法だと思うけど <Window.Resources> <app:Test x:Key="Test"/> <Window.Resources> この定義方法だと、勝手にインスタンス作ろうとして引数0のコンストラクタがないとエラーになってしまう。 デザイナにコード側で設定されるって事を教えるにはどうすべきなのでしょうか。
254 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 09:30:38 ] ObjectDataProvider使えばコンストラクタに引数渡したり、メソッドの結果にバインドできるのか。
255 名前:231 mailto:sage [2009/02/18(水) 12:53:18 ] >232さんの助言のお陰で、わりと上手く行っています。Adam Nahanさんからの返信はまだ ありませんが、どうやら自力でできそうです。>232さん、ありがとうございました。
256 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:11:13 ] WPFでGDI風にテキスト書かせたりするのはどうすればいいですか? ちなみにxamlはつかってません C#でしこしこ書いてます
257 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:21:49 ] コンテキスト.DrawString("a")みたいなの? OnRenderをオーバーライドすればそれっぽいことができるけど激しく非推奨 要素を置いていくだけで同じことできるしパフォーマンスも良くないし何よりWPFらしくない
258 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:25:51 ] 初心者でよくわかってないんです どうすればいいでしょう? データ更新が多いのでできるだけ早く描画したいのですが
259 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:31:38 ] 頻繁にOnRenderで更新するのは最悪 普通に要素を置いていったあとはそれらのプロパティの変更だけですませて できるだけ要素の入れ替えは行わない 画面に表示するだけならDrawing系の要素を使うと軽い
260 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:41:41 ] うー Drawing系の要素って何?orz
261 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 13:47:07 ] msdn.microsoft.com/ja-jp/library/aa970683.aspx このへん読め 理解できないなら理解できるようになってから気にすればいい
262 名前:>>243 mailto:sage [2009/02/18(水) 15:42:07 ] 何の参考にもならないと思いますが、何とか希望通りの動きをするようになったのでメモしておきます。 <Window.Resources> <ControlTemplate x:Key="RadioButtonControlTemplate1" TargetType="{x:Type RadioButton}"> <StackPanel> <Label Content="{Binding RelativeSource={RelativeSource AncestorType={x:Type RadioButton}}, Path=IsChecked}" /> </StackPanel> </ControlTemplate> </Window.Resources> <StackPanel x:Name="LayoutRoot" VerticalAlignment="Center" HorizontalAlignment="Center"> <RadioButton Content="RadioButton" Template="{DynamicResource RadioButtonControlTemplate1}" /> <RadioButton Content="RadioButton" Template="{DynamicResource RadioButtonControlTemplate1}" IsChecked="True" x:Name="radioButton" /> </StackPanel>
263 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 15:42:50 ] わからん Drawing系の要素、なんて言葉どこにもでてこない textBlockとかいうのつかったほうがはやいってことか?
264 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 15:47:13 ] System.Windows.Media.Drawingクラス(の派生クラス) 画面に描画するにはDrawingVisualを使う
265 名前:235 mailto:sage [2009/02/18(水) 18:03:32 ] >239 レスありがとうございます。 各プロパティで試してみたのですが、うまくいかない原因は別にあったようです。 実際にスクロールバーの制御をおこなうときに、スクロールバーが表示されていなかったという 何ともお粗末な原因でした。 穴があったら入ってゆっくり眠りたい気持ちです。
266 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:41:20 ] なんでwpfのスレが伸びまくるんだろうか?
267 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 00:04:13 ] いいドキュメントがないから
268 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 02:58:30 ] 本もほとんどないしな
269 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 10:17:53 ] 決定版が一冊出ればそれでいいんだけどな
270 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 15:11:22 ] 決定版ドキュメントが一冊出れば飛び付くんだが、最近の有力なエンジニアは 自ブログの充実ばかりで、書籍の執筆熱が冷めている上に、インターネットに 押されている出版社も支援が薄い。 出し惜しみ+買い控えの無限ループ → 書籍出版の衰退
271 名前:>>189 mailto:sage [2009/02/19(木) 15:58:19 ] Blendが自動でコード補助とかしてくれたらわかるけど、ヒントすら出てくれないからヘコしんどい
272 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 16:16:14 ] MSDNが使いづらい 探したいものがあって検索してもなかなか見つからない 数十分かけてやっと見つかったと思ったら大雑把にしか書いてなくて迷うこともある >>271 ヒントでねーわ選択画面ねーわで結局本片手にやるはめになるよな
273 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 16:20:57 ] IntelliSenseが最強の教師って状況はおかしいよな。
274 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 21:38:21 ] Silverlightのドキュメントなんかもっと酷いよ
275 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:10:32 ] MSDNで直接探すのは、どこに書いてあるか見当がつく場合ぐらいだなぁ 特定のクラスについて調べたいとか、この辺に探してるやつがある筈 と思う時ぐらい 調べる対象が漠然としてる時は、ググった方が早いね。
276 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 22:43:21 ] >>275 クラス名でググった方が早くね? www.google.co.jp/search?q=System.Diagnostics
277 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 23:48:27 ] WPFをMicrosoft Blendで作るのと、Visual Studioで作るのって何が違うの? 分裂したメリット、デメリットが判らない。 自分的にはVisual Studioではコード候補が出るから何とかなる気もする、 Blendは即コンパイル。 こんな感じ?
278 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 00:06:39 ] プログラマーとデザイナーが同時に作業できるようにってことだったと思うけど タダで配るならともかくこれは完全に失敗だよな
279 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 01:18:31 ] Blendがもっと手軽にコントロールテンプレートを弄り倒せるツールだったらヤル気がでた。
280 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 01:28:46 ] >>277 多分Blendに存在価値がないのが問題 どう見たってプログラム素人が手ェ出せるUIじゃないだろ・・・
281 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 02:25:33 ] >>280 xamlを意識しなければそれなりに使えそうだけどなぁ ただ、デザイナじゃないからblendは使いこなせなかったけどw とりあえず、フォーカスするとキモい挙動をする(グラデーションが動く)ボタンなら簡単に量産できると思う。 (センスのない自分が嫌になれるよ!)
282 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 07:43:01 ] 色とかかえたりするにはまぁいいんだけどね・・・ 何つーかもうちょっと全体的に使いやすくなって欲しいんだよなぁ FLASH用のツール作ってた人なんだろ、これ作ったの。
283 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 08:52:06 ] xamlとC#の変換ツールないですか? いきなりxaml使えといわれても何やってるのかよくわからないものは気持ち悪くてさわれない
284 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 09:37:19 ] >>283 それを言うならxamlとC++の変換じゃないの? C#から使うものだけど実装自体をC#でやってるわけじゃなかろう。 俺は詳しくないからxamlをパースしたあとC#に変換しているのか C++で直接動かしているのか詳しくは知らないが、 283はC#のメモリ管理が内部で何やってるかわからんから気持ち悪いとか言って わざわざC++で書いたりするわけじゃないんだろう? ああいう記法でラッピングした以上制約が色々あるから気になるならWindowsFormでやればいいし そこまで潔癖に気にするやつが使う代物でもないと思う。
285 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 10:11:12 ] むしろaspxだろうJK
286 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 13:02:03 ] >>284 これはひどい > C#のメモリ管理が内部で何やってるかわからんから気持ち悪いとか言って CGの動作原理を理解すれば気持ち悪くなくなる 同様に、XAMLとC#の対応関係を理解すれば、XAMLに対する気持ち悪さも消えるだろう 対応関係はDependencyPropertyの解説などを見れば、だんだんわかってくるが、 てっとり早く理解する為に変換ツールが欲しくなるのも理解できる けど、変換ツールは見たことないな ライブラリはXAMLをパースして、(ILを出力せずに)直接オブジェクトを生成しちゃってるし
287 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 13:53:48 ] XAMLがC#のコードとして表示されてるのを見たことある気がするんだが、 VisualStudioにそういう機能なかったっけ?
288 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:08:35 ] アプリケーション定義のxamlならobjフォルダにC#コードが出力されるけど。
289 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:15:58 ] <x:Code> ``` </x:Code> のことを言ってたりする? これならXAMLの中にそのまま記述できるけど?
290 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 14:34:26 ] >>288 ああ、それだった。たいした情報はないのな。
291 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 16:03:42 ] >290 StartupUriのxamlをフレームワークのAPI使ってロードするだけのコードだからね。
292 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 21:04:52 ] >>283 はXAMLがどうC#と関連づけられるか分からないから気持ち悪いと言っているんであって、 >>284 が言うようなC#のメモリ管理なんて言ってないだろうが。 XAMLで書けることはC#で書けるんだから、C#がわかるなら気持ち悪いなんて事は無いだろうに。
293 名前:284 mailto:sage [2009/02/20(金) 22:05:03 ] すまん、俺がボケかましてただけだった。 milcore直接たたいてるのはWPFでXAMLじゃなかったわな。 直接たたいてるとしたらアンマネージドだからああいう物言いになったと。 メモリ管理どーのってのはあくまでも例え。286は例えとわかってくれているが292には通じんかったようだ。 GCは挙動わかっててさえ気持ち悪いとか非効率とかよく言われるものなのに、 まずGC積んでるC#自体を気持ち悪がらないのにXAML程度を気持ち悪がる理由がわからんって事。 例え悪くてすまんな、低脳なんで。 ただ、XAMLで書けることはC#で書けるというのは大抵書いてあることだけど そのままパースして翻訳されてると俺は思ってないし、 そう考えると実際に内部で何やられてるかわからんと言う意味で 283が気持ち悪がってるのかなとは思い直した。
294 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 22:12:51 ] milcoreは最終的な一番低いレベルの描画に使ってるだけ XAMLをパースしてるのはフレームワークのマネージコード
295 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 22:20:51 ] WPFは最終的な描画以外は全部C#で書かれてるよ SilverlightはアンマネージC++にごくごく薄いマネージドの皮をかぶせただけ
296 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 22:28:05 ] >>294 ,295 把握した。
297 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 00:04:48 ] マイクロソフトの人がこのスレみて反省してくれればいいのだが
298 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 01:52:02 ] マネージからmilcoreたたければなー
299 名前:デフォルトの名無しさん [2009/02/21(土) 09:39:09 ] 299
300 名前:デフォルトの名無しさん [2009/02/21(土) 09:39:45 ] 300
301 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:20:19 ] Dispatcher.InvokeするとTargetInvocationExceptionが起きるんですが、どうすれば回避できるのでしょう?
302 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:25:45 ] 中身(InnerException)は?
303 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:27:50 ] ごめんなさい、知識なさ過ぎて答えられません InnerExceptionとは何でしょう?
304 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:48:19 ] ああ、TargetInvocationExceptionっていうのは呼び出した先でエラーが起きてるってことなのですか? 検索してもさっぱりわかりませんでした それでは調べてみようと呼びだしてるメソッドの中身をtry catchで囲んでみたらなぜかエラーが起きなくなりました なにがおきてるんでしょう?
305 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:56:08 ] try{ ほにゃらら }catch(Exception e){ MessageBox.Show(e.InnerException.ToString()); } してみたら?ていうか、キャッチしなかった場合にデバッグ環境で表示されるダイアログでも InnerExceptionは見れるけど。
306 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 22:58:33 ] ごめんなさい、エラーおきてました 時間なくてあせってて 原因もわかりました お騒がせしました お付き合いありがとうございました では