WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part8
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/12/05(日) 22:08:33.NET4 もリリースされて盛り上がってまいりますた。
Visual Studio 2010
http://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 4 (Web インストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
http://www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part7
http://hibari.2ch.net/test/read.cgi/tech/1282479113/
関連スレ
Microsoft Silverlight その7
http://hibari.2ch.net/test/read.cgi/tech/1288613056/
過去スレ
Part6 http://hibari.2ch.net/test/read.cgi/tech/1274423236/
Part5 http://pc12.2ch.net/test/read.cgi/tech/1261879110/
Part4 http://pc12.2ch.net/test/read.cgi/tech/1245384489/
Part3 http://pc12.2ch.net/test/read.cgi/tech/1231506876/
Part2 http://pc11.2ch.net/test/read.cgi/tech/1211453941/
Part1 http://pc11.2ch.net/test/read.cgi/tech/1162950198/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0694デフォルトの名無しさん
2011/02/08(火) 20:37:39るのですが、ファイルがロックされてしまい、exif情報を取り出したファイルの操作
ができません。IDisposableでないので、Dispose()もできず、freeze()してみても変
わりません。どうしたら、ロックを解除できるでしょうか?
0695デフォルトの名無しさん
2011/02/08(火) 20:40:040696デフォルトの名無しさん
2011/02/08(火) 21:22:56取れるのはOS依存だけど、そのOSのExplorerで読める物は大丈夫なはず
http://code.msdn.microsoft.com/WindowsAPICodePack
0697デフォルトの名無しさん
2011/02/08(火) 23:10:38Stream渡しでStreamをCloseするとファイルがロックされることはなくなりましたが、
こんどは BitmapFrame.MetadataがStreamのクローズと共にnullになってしまい
ました。MetadataをCloneしても、CloneCurrentValueしても変わりません。
Streamをクローズするまえに必要なタグ情報は全部読みだしておくことで回避していますが。。。
>>696
なんと! そんないいものがあったんですか? apicodepackは使っているんですが
知りませんでした。早速調べてみます。
0698デフォルトの名無しさん
2011/02/08(火) 23:16:17Streamだけのオーバーロードだと、遅延読み込みになるっぽい
http://msdn.microsoft.com/ja-jp/library/ms615998.aspx
http://msdn.microsoft.com/ja-jp/library/system.windows.media.imaging.bitmapcacheoption.aspx
0699デフォルトの名無しさん
2011/02/09(水) 00:27:29デバッガでステップ実行してみると遅延実行か否かにかかわらず、BitmapFrame.Metadataを
Cloneした時点でexif情報は一応読み込まれてImageMetadataにコピーされているようです。
Cloneなのでもとのデータとは参照関係にないのですが、Streamを閉じると、コピーしたImageMetadata
の各項目がnullになってしまいます。(ImageMetadata自体はnullでない)。
謎な挙動なのですが、ImageMetadataはFreezable(DependencyObject)なので、もしかすると
もとのStreamとバインディングでもされているんでしょうか???
>>696
使ってみました。これは便利、と思いきや、BitmapFrameを使った方法では取得できる
項目にnullが返ってきたり、今ひとつ大丈夫なのかどうか心配です。
CanonicalNameが間違っているのでしょうか?
0700デフォルトの名無しさん
2011/02/09(水) 00:49:50api code packでexifをとろうとするとnullが帰ってくる件自己解決しました。
int dobleなどプリミティブ型はすべてNullable<T>になっていたため、
GetProperty<T>でTにNullable型を指定しないといけないのが原因でした。
0701デフォルトの名無しさん
2011/02/09(水) 14:22:47反応しないことってありますか?
今再現性100%で起きてるんですが・・・
モード切替ボタンが3つあって
起動直後にボタン1を押すと正常
その後ボタン2を一回押すとボタンの見た目だけ変わるけど
その先のコードが呼ばれない
もう一度ボタン2を押すとコードが正常に呼ばれる
これはボタン3つとも同じ結果になります
0702デフォルトの名無しさん
2011/02/09(水) 14:57:59結果は変わらずでした・・・
よくわからん・・・
0703デフォルトの名無しさん
2011/02/09(水) 15:20:450704デフォルトの名無しさん
2011/02/09(水) 15:32:05バグ修正したカスタムコントロールで俺は対処した。
0705デフォルトの名無しさん
2011/02/09(水) 15:36:59晒せません・・・
>>704
Toggleじゃないです
あほなことをしてたかも・・・
Buttonが乗ってるCanvasにListBoxも乗ってるんですがこいつのSelectedIndexを
場合によっては-1にしてるんですが(つまり選択無し)こいつが影響してたようです・・・
0706デフォルトの名無しさん
2011/02/09(水) 16:10:09WPF SLともに似たような感じの別ソースを作って実験してみましたが
そちらでは再現しませんでした。
どうも今書いてるソースの問題のようです。
おさわがせしました・・・・
0707デフォルトの名無しさん
2011/02/09(水) 19:24:27VisualChildrenに入れ忘れた時に似た症状(たまに再描画されたりされなかったり、
操作できたりできなかったり)を見たことがある。
0708デフォルトの名無しさん
2011/02/09(水) 19:55:390709デフォルトの名無しさん
2011/02/09(水) 20:54:490710デフォルトの名無しさん
2011/02/09(水) 21:14:15分かりやすいです。
0711デフォルトの名無しさん
2011/02/09(水) 23:14:260712デフォルトの名無しさん
2011/02/09(水) 23:40:490713デフォルトの名無しさん
2011/02/09(水) 23:45:360714デフォルトの名無しさん
2011/02/09(水) 23:52:050715デフォルトの名無しさん
2011/02/10(木) 00:11:30どうも表示上まったく無関係なコントロール間に参照ができ、
破棄したはずのコントロールへの参照が相当数残っている模様…
これ直しようがないよね…
0716デフォルトの名無しさん
2011/02/10(木) 01:23:06<UserControl.InputBindings>
<KeyBinding Key="A" Command="{Binding ACommand}" />
</UserControl.InputBindings>
みたいな操作を実装しようと思ったら、代替手段って何になるの?
0717706
2011/02/10(木) 11:06:17確かにCanvasを継承してちょっと機能を持たせてる独自コントロールがいるんですよね・・・
ほかのパーツもいろいろ影響受けてるのかよくわからない動きも他にでてきてるし・・・
使いこなせれば確かにバインディング含めて便利なんだが便利機能がある分
ブラックボックス化してる部分が多くて返って大変かも・・・・
0718デフォルトの名無しさん
2011/02/13(日) 01:41:17でないと思ってて、実際どんなに小さい値をIntervalに入れても60くらいを示すんだけど、
Intervalを0にしたらウン万fpsたたき出す。どうなってんのこれ。
あとSystem.ThreadingのTimerなら120行けるんじゃと思って試してみたけどDispatcherTimer
と同じような精度だった。たしか分解能10msほどだっけ。
ソースはここのを使わせてもらった。
http://d.hatena.ne.jp/mitsc1729/20101106/1289045053
0719デフォルトの名無しさん
2011/02/13(日) 14:07:570720デフォルトの名無しさん
2011/02/13(日) 19:21:25連載:WPF入門
第5回 WPFの「データ・バインディング」を理解する
http://www.atmarkit.co.jp/fdotnet/chushin/introwpf_05/introwpf_05_02.html
0721デフォルトの名無しさん
2011/02/14(月) 01:48:45上から順に012とか読み取れるような方法って標準でありますか?
0722デフォルトの名無しさん
2011/02/14(月) 23:24:00ViewModelからBind経由で値をとりたいのか、それともView側で直接とりたいのかetc...
そもそもの目的が分からないからなんとも言えないが色々と手段はある。
0723デフォルトの名無しさん
2011/02/18(金) 17:19:09CanvasだけにEffectを設定できないの?
0724デフォルトの名無しさん
2011/02/18(金) 21:10:08BorderかRectangleでも置いとけ
0725デフォルトの名無しさん
2011/02/19(土) 21:54:47.64なレイアウトにできるのはGridだけ?ストレッチが1つならDockでも可能だけど。
0726デフォルトの名無しさん
2011/02/20(日) 01:57:34.94<TextBlock>
前半<Bold>太字</Bold>後半
</TextBlock>
リテラルなら上で良いけど、前半、太字、後半をバインドする方法が分からないです。
0727デフォルトの名無しさん
2011/02/20(日) 02:50:33.990728デフォルトの名無しさん
2011/02/20(日) 03:02:36.10リテラルに見えるが<Run>を省略できるだけ。
Inlineクラス
http://msdn.microsoft.com/ja-jp/library/system.windows.documents.inline.aspx
0729デフォルトの名無しさん
2011/02/20(日) 04:16:14.720730デフォルトの名無しさん
2011/02/20(日) 12:11:14.43XAMLで書ける要素はXAMLで書きたいな、と思っております。
実際>>728さんのアドバイスで試してみて2つ問題が。
・Run.Textは依存プロパティではないからバインドできない。
・問題というほどじゃないのだけど、要素をきれいに並べたくて下のような書き方すると改行部分で空白が入る。
<TextBlock>
<Run>前半</Run>
<Bold>太字</Bold>
<Run>後半</Run>
</TextBlock>
>>726の書き方だと「前半太字後半」となるのが、上だと「前半 太字 後半」になってしまう。
<Run>前半</Run><Bold>太字</Bold><Run>後半</Run> と書けばいいんだけど…。
>>729さんの言うようにコンバータ作るのが良いのか、そもそも初手の発想が駄目で
テキストの一部修飾はもっとスマートなやり方があるんでしょうか?
0731デフォルトの名無しさん
2011/02/20(日) 12:16:51.12<Stackpanel>
<TextBlock/>
<TextBlock/>
<TextBlock/>
</Stackpanel>
こんな感じでTextBlockが横に並ぶようにしちゃうとか
0732デフォルトの名無しさん
2011/02/20(日) 12:45:12.42条件後出しになってごめんなさい。
「前半太字後半」で1文として扱われてほしいのです。
TextBlockとして並べてしまうとたとえば改行の際の動作がおかしいので。
<希望の動作>
前半太字後
半
<TextBlock並べた場合>
前半太字後
____半
0733デフォルトの名無しさん
2011/02/20(日) 13:07:05.700734デフォルトの名無しさん
2011/02/20(日) 13:27:18.800735デフォルトの名無しさん
2011/02/20(日) 14:21:24.51VisualStudio2005 C# Designer を使用して Form を作成中です。
GUI 上に Panel ってのを追加してみたけど、やっぱ止めようとしてます。
で削除したいのですが、削除、切り取りとも、
苦労して配置したボタンその他みんな道連れになって削除されてしまいます。
パネルだけを削除する方法は?
0736デフォルトの名無しさん
2011/02/20(日) 14:23:10.910737デフォルトの名無しさん
2011/02/20(日) 14:23:47.08ではどこに?
0738デフォルトの名無しさん
2011/02/20(日) 14:24:38.900739デフォルトの名無しさん
2011/02/20(日) 14:26:22.62本屋やネットみて基本身につけたほうがいい。
0740デフォルトの名無しさん
2011/02/20(日) 14:26:57.460741デフォルトの名無しさん
2011/02/22(火) 08:38:29.50VerticalScrollBarVisibilityがtrueなRichTextBoxがありますが、Documentプロパティを入れ替えて行数の多い文書を投入してもスクロールが有効になりません。何か手続き漏れているでしょうか?
0742デフォルトの名無しさん
2011/02/22(火) 09:13:30.460743デフォルトの名無しさん
2011/02/22(火) 09:27:27.98すみません741ですがautoでした。
0744デフォルトの名無しさん
2011/02/22(火) 09:44:49.59あんなの行ってなにが得られるというのだね
わんくま(笑)
0745デフォルトの名無しさん
2011/02/22(火) 15:20:03.670746デフォルトの名無しさん
2011/02/22(火) 17:10:41.21kwsk
0747デフォルトの名無しさん
2011/02/22(火) 18:24:58.930748デフォルトの名無しさん
2011/02/22(火) 19:15:31.68あれどうなってんのw
0749デフォルトの名無しさん
2011/02/22(火) 22:27:52.260750デフォルトの名無しさん
2011/02/23(水) 00:48:41.94よく落ちるんじゃなくて、
たまに運がいいと繋がるって感触なんだが……。
0751デフォルトの名無しさん
2011/02/23(水) 08:26:50.980752デフォルトの名無しさん
2011/02/24(木) 07:21:13.740753デフォルトの名無しさん
2011/02/24(木) 08:01:10.97Ribbon UIのサンプルをいじって実験していたところ期待通りの動作とならず質問しましたが、シンプルな WPFアプリケーションで試したところ問題ありませんでした。
Ribbon時の原因はまだ特定できていませんがリフレクションからみで何かあるのかなと推測してます。
0754デフォルトの名無しさん
2011/02/24(木) 08:35:27.75エッセンシャル
0755デフォルトの名無しさん
2011/02/24(木) 09:35:38.480756デフォルトの名無しさん
2011/02/24(木) 09:38:49.08向こうのスレは役にたたない
0757デフォルトの名無しさん
2011/02/24(木) 09:46:44.76WPFに共通する話題ならこっちでやってもいい。
共通する話題か判断できる人は自己解決するだろうけどさ
0758デフォルトの名無しさん
2011/02/24(木) 09:47:01.82SilverlightはWPFじゃなくて.NET Frameworkのサブセットだよ
SilverlightでEntity Frameworkを使うときの話とかWPFスレでやるの?
0759デフォルトの名無しさん
2011/02/24(木) 16:30:35.63やはりページ毎に全ての印刷要素のインスタンスを作らないと駄目ですかね?
ページ数多いとメモリ消費が凄いことになりそうで。
WinFormsはそこらへん効率的だったのに・・・
0760デフォルトの名無しさん
2011/02/24(木) 16:44:35.340761デフォルトの名無しさん
2011/02/24(木) 19:55:00.31あと TextOptions 使ってテキストボックスの文字表示を調整したり、MVVM Light使え等の小技も結構紹介されてた。
しかしデモ見てたら、MVVMって検証含めるとイベントハンドラよりコードが肥大化する印象があるけどどうよ。
0762デフォルトの名無しさん
2011/02/24(木) 21:05:14.26テストしないんだったらVMなんかいらん。
0763デフォルトの名無しさん
2011/02/24(木) 21:26:00.15テストの手間を考えたら構造が少々複雑になったりコードが増えたりするくらいのコストは無視できる。
MVVMでないとWPFのバインディングを活用できないみたいな誤解があるけど
実際は全然そんなことない。
0764デフォルトの名無しさん
2011/02/24(木) 21:34:26.890765デフォルトの名無しさん
2011/02/24(木) 21:42:26.470766デフォルトの名無しさん
2011/02/24(木) 21:46:59.470767デフォルトの名無しさん
2011/02/24(木) 22:36:25.690768デフォルトの名無しさん
2011/02/25(金) 10:27:22.25http://www.youtube.com/watch?v=6Cf7IL_eZ38
0769デフォルトの名無しさん
2011/02/25(金) 10:59:31.090770デフォルトの名無しさん
2011/02/25(金) 12:34:57.950771デフォルトの名無しさん
2011/02/25(金) 13:53:41.820772デフォルトの名無しさん
2011/02/25(金) 16:07:03.720773デフォルトの名無しさん
2011/02/25(金) 16:12:08.390774デフォルトの名無しさん
2011/02/25(金) 16:12:46.390775デフォルトの名無しさん
2011/02/25(金) 16:13:53.810776デフォルトの名無しさん
2011/02/25(金) 16:24:09.09静電容量式で使えないやつもあるから購入前に要チェック。
A型の俺はiPodにも自作タッチペン。
導電スポンジ切ってボールペンの芯の替わりに詰め込むだけの単純な工作だ。
0777デフォルトの名無しさん
2011/02/25(金) 16:27:57.98kwsk
0778デフォルトの名無しさん
2011/02/25(金) 16:30:36.25iPod タッチペン 自作 あたりでググると作り方書いてあるよ。
導電スポンジはAmazonあたりで売ってる。
0779デフォルトの名無しさん
2011/02/25(金) 16:46:12.17ほほぅ〜 これはよさげだw
勉強になったよ ありがとう
0780デフォルトの名無しさん
2011/02/25(金) 16:47:05.10タブで、そのセルにフォーカスあてると一旦ユーザコントロールにフォーカスが移って、
次にTextBoxという具合になるんですが、
いきなりTextBoxにフォーカスあてるためにはどうしたらいいですか?
0781デフォルトの名無しさん
2011/02/25(金) 19:30:03.07ピンチイン・ピンチアウト等、二本指必要な操作が問題だ。
つか、将来的には
直接触らなくても、近付けて指を振るだけで動く様にして欲しいかも。
0782デフォルトの名無しさん
2011/02/25(金) 20:51:20.140783デフォルトの名無しさん
2011/02/25(金) 21:41:02.100784デフォルトの名無しさん
2011/02/25(金) 21:46:21.080785デフォルトの名無しさん
2011/02/26(土) 00:09:44.27ContentControlとかはデフォルトだとフォーカスを受け取るから
タブ押してフォーカス移動しながらSnoopとかでフォーカスを持ってるコントロールをチェックしてみ。
0786627
2011/02/26(土) 02:11:22.84例えばWindowが持っているResourceCollectionにSolidColorBrushが入っているとして、それを子ボタンの背景に手動で適用する場合、
MyButton.Background = (Brush)MyStaticResouceExtension.ProvideValue(IServiceProvider);
ここの「IServiceProvider」にはどこのインスタンスを指定すればよいのでしょうか?
0787デフォルトの名無しさん
2011/02/26(土) 03:16:56.330789デフォルトの名無しさん
2011/02/26(土) 06:54:31.600790デフォルトの名無しさん
2011/02/26(土) 17:13:13.31タッチパネル対応箸の出番だな
0791デフォルトの名無しさん
2011/02/26(土) 18:04:38.98光学式のは厳密には触れなくても反応する。
どこまで指を上げればいいのか分からなくて慣れるまでダブルクリックできないけど。
0792デフォルトの名無しさん
2011/02/26(土) 18:08:24.110793デフォルトの名無しさん
2011/02/26(土) 23:39:43.78紹介する流れができたわけですね。
0794デフォルトの名無しさん
2011/02/27(日) 00:07:54.77■ このスレッドは過去ログ倉庫に格納されています