[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/29 09:48 / Filesize : 198 KB / Number-of Response : 822
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

WPF(XAML, XBAP, .NET4.5)GUIプログラミング Part17



1 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 19:31:37.96 ]
ユーザーインターフェースシステム、Windows Presentation Frameworkについて微に入り語るスレ。

Visual Studio 2013 & 2012 & 2010
www.microsoft.com/visualstudio/jpn/downloads
Microsoft .NET Framework 4 (Web インストーラー)
www.microsoft.com/downloads/details.aspx?familyid=9CFB2D51-5FF4-4491-B0E5-B386F32C0992&displaylang=ja
Microsoft .NET Framework 4 (スタンドアロンインストーラー)
www.microsoft.com/downloads/details.aspx?familyid=0A391ABD-25C1-4FC0-919F-B21F31AB88B7&displaylang=ja
Microsoft .NET Framework 4.5
msdn.microsoft.com/ja-jp/library/vstudio/5a4x27ek.aspx

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16
toro.2ch.net/test/read.cgi/tech/1369912326/

関連スレ
Microsoft Silverlight その9
toro.2ch.net/test/read.cgi/tech/1321150267/

コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
ideone.com/

641 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 19:22:51.63 ]
いい加減WPFにこだわるのやめてUnityみたいなマルチプラットフォームIDEを作れよMS
何のための.NET Frameworkなんだ?
WPFがWindows以外で動けばデベロッパー増えるだろうに

642 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:00:42.82 ]
>>626
それよりデフォルトのカルチャがen-USなのがウザイ
ローカルを使わせようとすると

xmlns:g="clr-namespace:System.Globalization;assembly=mscorlib"

Text="{Binding LastWriteTime,StringFormat=d,ConverterCulture={x:Static g:CultureInfo.CurrentCulture}}"/>

643 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:05:31.77 ]
いちいちBindingにカルチャ指定してるのか…

644 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:12:03.86 ]
>>641
希望的観測過ぎて笑える。一体Windows以外のどのプラットホームのユーザーが使うと思うの?

645 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:19:03.16 ]
大量のコントロールある画面の描画速度どうにかしてあげられないかな?
rectangleとline動的に使いまくったらとても遅い

646 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:22:19.51 ]
Silverlightがまさにそれだろ
クロスプラットフォームなクライアントはSilverlightやFlexやJavaFXが全滅してHTML最強で決着した
MS自身が.NET FrameworkをオープンソースにしてVSもマルチプラットフォームにすれば
間違いなくJava潰してASP.NETで天下取れるだろうけど、結局それだとMSの利益にならないからね

647 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:36:16.49 ]
Silverlightはチーム解散したよ、知ってると思うけど
切り捨て早いw

まあぶっちゃけWPF推奨するよりWinFormsをより良いものにしていったほうが
みんなが幸せになれるよね

とにかくMSは使えないGUIライブラリを作り過ぎ
MFC, ATL/WTL あたりは完全に捨てて本当に使えるものを
一つだけ作るべき

648 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:38:43.46 ]
いまさらFormsでバインドもどきとか本当にありえない

649 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:43:50.15 ]
そもそもバインドはいらない



650 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:44:26.28 ]
>>648
まあ今は駄目でも良いものにしていくんだよ

ぶっちゃけどんなに出来が悪くてもWin32APIとWinFormsは
無しにはできないんだから、これらにリソースを集中すべき
リソース分散させた挙句にクソGUIライブラリ量産って
意味が分からなすぎるw

651 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:45:57.35 ]
昔からではあるが最近MSの迷走が特に酷いからな

652 名前:デフォルトの名無しさん mailto:sage [2014/03/08(土) 20:55:49.96 ]
機能詰め込みすぎを認めてサブセットにした方がいいんでねえのとは

653 名前:デフォルトの名無しさん [2014/03/08(土) 22:03:50.33 ]
それでもXAML以外はもうあり得んわー(´・ω・`)

654 名前:デフォルトの名無しさん [2014/03/09(日) 04:44:06.28 ]
入門したいのですが
エッセンシャルWPFって本は今買っても有用でしょうか?

655 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 11:46:23.02 ]
DataGridに文字出す時に行の高さに合わせて文字を調整したいんだけど
そういう場合ってViewBox位しか手が無いよね?
ViewBoxでやると内容を横方向のサイズへ合わせる形には出来るんだけど
縦方向に合わせて調整して文字サイズを全行で一定にみたいなのが難しい・・・。
とりあえずは入れるデータの文字数を調整すればなんとかなるけどもっと
スマートな方法あるのかなぁ・・・。

656 名前:デフォルトの名無しさん [2014/03/09(日) 13:17:38.84 ]
>>654
今はMVVMとかも盛り込んでるようなのにした方がいいと思うけど…和書であるかは知らん

657 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:29:07.17 ]
書いても売れないんで
ストアができて多少普及するかと思ったけどそんなこともないね

658 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:31:58.14 ]
書いても売れない以前に書ける人いないんでしょうな
実際に実務で使っている人は本を書いている暇なんぞないだろうし

659 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 13:34:41.91 ]
MVPが書けば
偉そうなこと言ってるしエバンジェリストくらいの立場に居るでしょ
業務の一環としてやればいい

まさか土方じゃあるまい



660 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 14:00:32.18 ]
とーちゃんは日本一の

661 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 14:27:05.06 ]
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
kohada.2ch.net/test/read.cgi/vote/1394290844/

662 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 16:52:06.73 ]
やっとID強制になるのか
色々黒い噂というか推測はあるけど、こっちの意見が通る分新運営のほうが何十倍もマシだわ

663 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 17:32:50.19 ]
どこぞのスレとかどうなるのかね
どこぞってかAPIスレだが

664 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 17:37:04.84 ]
もしや、導入と同時に過去レス分も表示されたりすんの…?
このスレは過疎ってるからともかく、おもしろいことになりそうだなw

665 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 22:21:28.38 ]
WPFでコントロールにイベントハンドラを設定した場合、ユーザーの操作だけでなく
プログラムから操作した場合もイベントハンドラが起動してしまうんだけど
(ListBoxの項目選択とか)
プログラムから操作した場合はイベントを起こさないようにすることは可能?
今はプログラムで操作する前にフラグを立てて
イベントハンドラ内でスキップ判定してるけど、スマートでない気がしてます

666 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 22:35:27.04 ]
同じ状態変化を区別しようってのがナンセンス

667 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 23:13:02.27 ]
>>651
そりゃあCEOがあれだから。
新しい人になったけど、どーなるかね。

668 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 00:10:31.74 ]
>>666
なるほど一理あります
でもコントロールが入力装置と出力装置を兼ねている以上
双方向からの状態変化が来るのは避けられないんだよな…困った

669 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 00:27:19.39 ]
>>666の言うとおりで、状態の変化を起こしたのがユーザーかコードかを
区別しなきゃならないってのは多分変な思い込み。



670 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 02:30:26.52 ]
>>644
Windowsのデベロッパーは皆MacやLinuxでVS使って開発したいって思ってると思うぜ
そもそもXamarinのウリがC#よりVS+.NETでの開発なんだから・・・

671 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 03:23:24.36 ]
>>670
一昔前にはPHP.netなんてものもあったな。
あれ、どうなったんだっけ?

672 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 04:49:20.93 ]
>>670
根本的に勘違いしてないか?
MacやLinuxで開発したくないから(ネイティブ環境で開発出来る人が少ないから)
Windowsで動く開発環境(VS)で他のプラットホームでも動くアプリ作ろうってのが
今のXamarinだろうに・・・。
皆とか言ってるけど開発環境をLinuxにしたいWindowsユーザーなんか想像もつかないわw

673 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 20:14:51.27 ]
>>665
イベントハンドラの先頭にフラグで処理制御

if(flag)
return

コードの変更前にflag=true
変更終わったらfalse

674 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 20:24:30.67 ]
一日遅れで質問に書いてある対処法を書く人ってかっこいい

675 名前:デフォルトの名無しさん [2014/03/10(月) 21:15:25.43 ]
>>672
いまiOS向けの開発してるけど、VSからだとデバッグとか時間かかりすぎて実ように絶えない(。-_-。)

676 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 00:48:59.23 ]
>>675
Xcodeもobj-cもろくに使えない無能なのが悪い。諦めて無駄な時間費やしてデバッグしてなさい。

677 名前:デフォルトの名無しさん [2014/03/11(火) 01:25:58.94 ]
>>676
XamarinStudio使えば解消されるんだが。
あんなめんどくさいクソ言語使って俺できる男キリッとか池沼ですかw

678 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 03:33:42.71 ]
>>677
自分が理解出来ないから糞言語か。自分が無能ですと自己紹介して楽しいんかね。

679 名前:デフォルトの名無しさん [2014/03/11(火) 06:47:29.92 ]
>>678
お前も他のいい言語があるのを少し知った方がいいぞ。
今の時点でObjectiveCがすぐれてるとこってなんなの?記述もめんどくさいしMac/iOS以外で使われてないことが言語としての優位性を持ってないことの証明にならん?



680 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 07:03:03.37 ]
Xcodeはドキュメントフォーマットすらロクに出来ないのにIDE名乗って恥ずかしくないの

681 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 07:34:23.14 ]
そんなの飾りです
ドザーには分からんのですよ

682 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 08:45:51.47 ]
>>679
つか、そういうのって適材適所だろ。言語的な良さなんか糞の役にもたたん。
結局それ用に設計されてるんだしちょっと凝ったことやろうとするとネイティブな環境の方が
痒いところに手が届くんだし。WPFに全然関係無いしいい加減スレチやで。

683 名前:デフォルトの名無しさん [2014/03/11(火) 10:51:30.24 ]
>>682
すれち言うなら>>641あたりから言えや

684 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 11:25:21.44 ]
少なくともobjcはみんな避けたがってるのは事実

685 名前:デフォルトの名無しさん [2014/03/11(火) 11:46:04.50 ]
しかしiOSのAutoLayoutは慣れれば簡単に使えるようになるのか?
XAMLに慣れた身だとどうにもわからなくて、結局前作ったレイアウトシステム弄ってXAMLライクに設定できるようなの作ってしまったが不必要なもの作ったのかどうか確信が持てない。

686 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 15:01:45.36 ]
そもそもiOSというかiPhoneやiPadは解像度がある程度固定されてるのしか存在しないというなが最大のメリット(だった)だから簡単だった

687 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 08:18:49.76 ID:OXUOGNNe]
そう思ってた時期が僕にもありました(aary

688 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 12:00:42.17 ID:lM6It6rw]
IDがついに導入されたんだな

記念カキコ

689 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 12:49:51.37 ID:3ENgQR/9]
あらほんとだ。

VSのXAML対応はもう少し頑張って欲しいな。現状エラー起きると特定が大変。
printfデバッグ的なことすらできないしなんとかならんものかなぁ。
正常な記述してもデザイナーがエラーはくのとかも困る。
パーツ共通化してリソースでマージしてとかすぐエラーはくしな。
まぁそういうのはコントロールにしろって考え方なのかもしれんが。



690 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 17:42:49.77 ID:S81t4a/W]

ID気づかなかった
いいねぇ

691 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 17:42:17.30 ID:iT1RVwOl]
ロジックではなくUIの読み込みが遅いのでアニメーションで誤魔化したいんだけど
遷移前にアニメーション開始、ロードしたUserControlのLoadedのタイミングで終了
ってやると何も表示されないで終わる・・・。タイミングの取り方も問題だろうけど
UIスレッドが一本なのでロード中固まってしまうという話な気がするので・・・対策が
思いつかないわ・・・。何か良いアイディア無い?

692 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:12:35.85 ID:kiH7w+gK]
UIの読み込みが遅いって何?

693 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:45:20.53 ID:QAr7puSZ]
ロジック(VM?)じゃなくて、読込が遅くなるほど重量級のUserControlって一体…

694 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:48:10.55 ID:iT1RVwOl]
客先に指定された買い入れのWinFormsのコントロール
複数あるのも原因だけど張り付けただけでも全部読むと秒単位固まるんだよね・・・
あまりに糞過ぎて捨てたいんだけどそうもいかんという。PRISMの問題でもあるんかなぁ

695 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 18:59:44.80 ID:ZTADfK4m]
> UIスレッドが一本なのでロード中固まってしまうという話
既に答えが出てるじゃないか。
UIスレッドが1本なのが問題なら、2本にすればいい。

多少、泥臭くて面倒だが、誤魔化す為のアニメーションなら現実的なレベルだろう。

696 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:19:15.64 ID:EdKYJdmY]
RibbonWindow使ったら外枠がおかしくなる現象はどうすれば治りますか?

697 名前:デフォルトの名無しさん [2014/03/13(木) 19:26:16.05 ID:dycS71DR]
>>695
UIスレッド2本とかねーよw

698 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:07:13.29 ID:iT1RVwOl]
>>695
>>697
うん、俺も出来ないと思ってたんだけど二本に出来るんか?しかも一つのウィンドウの中とかで。

699 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 23:56:20.01 ID:ZTADfK4m]
>>698
当然、1つのウィンドウの中で2つのUIスレッドは使えない。

別ウィンドウなら別のUIスレッドが使えるので、
別ウィンドウを元のウィンドウのすぐ手前に配置して、1つのウィンドウのように見せる。



700 名前:デフォルトの名無しさん [2014/03/14(金) 00:45:20.87 ID:bbGk2WDX]
>>699
誰得だよそれ…(´Д` )

701 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 04:27:21.25 ID:HgH3MD9i]
なにを言ってるんだろう…とまぁ俺の無知なんだろうなと静観してたが、
そういう意味かよ…スプラッシュウィンドウ的な単語を使えば誰でも分かったと思うんだがw

702 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 06:40:40.34 ID:SfVBkUP1]
遷移前に一回裏でnewしておけば早くなるパティーンもあるけど

703 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 12:52:11.84 ID:oQoAR40W]
>>696
あれ出来悪いからソース付きの旧バージョン使った方がいいと思う
出来自体は一緒だが自分で修正しやすい。
名前空間とか差し替えたらそのまま使える
www.microsoft.com/en-us/download/details.aspx?id=11877

704 名前:デフォルトの名無しさん [2014/03/15(土) 21:20:28.85 ID:s/ZKyli9]
こんな結果になるんなら、
命名はお姫様細胞で良かった。

705 名前:デフォルトの名無しさん mailto:sage [2014/03/16(日) 17:10:00.52 ID:oNuhFUS2]
Binding.IsAsyncに2週間早く気づいていれば・・・こんなことには

706 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:04:16.11 ID:WN1ig2I7]
DataGridのセルにComboBox(テキスト編集可能状態)を入れた状態でそのセルの
文字を編集した時に日本語だけ入力した場合編集を終了してもデータが入力された
事にならないみたいなんだけど原因分かる人います?
アルファベットだけとかアルファベット+漢字みたいに混ぜると大丈夫だし不思議な
動きな気がしているんだけど・・・。

707 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 01:58:35.73 ID:trnp8Ujb]
Control.Backgroundの規定値はBrushes.TransparentとMSDNには書いてあるけど
これ間違ってるよね?
実際はnullでマウスイベントが取れなくてちょっと悩んだ。

708 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 15:21:57.76 ID:N2+Y2XM3]
>>707
なんかVS2012とVS2013で挙動が違った記憶があるんだけどどうだったかなぁ。
同じ.NET 4.0 Full向けのプロジェクトを開いているのに2012ではBackgroundが
設定されていないと白だかだったのが2013で開くと透明になっていた気がする。

709 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 21:50:09.10 ID:trnp8Ujb]
ideone.com/IARf72

こんなんやってみたら最後の要素しか表示されない。
DataTemplate使えばいいんだけど、何が間違ってるのか分からん。



710 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:06:03.81 ID:rS2wZVev]
それだとTextBlockはインスタンス一つしか作られないから

711 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:08:08.92 ID:bZk4pJSQ]
1つのTextBlockが複数の親を持つことになるからじゃないの

712 名前:709 mailto:sage [2014/03/24(月) 22:33:11.68 ID:trnp8Ujb]
あーなる、言われてみればそうだわ。
すっきりしたわ、ありがとう。

713 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 21:28:51.46 ID:p8802FLC]
>>707
透明のブラシを指定してもマウスのイベントは透過するはずだけどねw

714 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 00:05:22.70 ID:Pj9p4mhe]
>>713
TransparentだとMouseLeftButtonDownが取れるけど、nullだと下の要素に行っちゃう。
この辺の事ってどこに書いてあるんだろう。

715 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 10:08:12.08 ID:s2g7M8bp]
>>714
ここ
msdn.microsoft.com/en-us/library/ms752097.aspx

716 名前:デフォルトの名無しさん mailto:sage [2014/03/30(日) 23:18:57.63 ID:a/E0lR2i]
ComboBoxをIsEditable=Trueにした状態で実行時に日本語のみを入力すると
IMEにGoogle日本語入力使っているとPropertyChangedが来ない事に気付いた。
アルファベットのみやMS-IMEだとちゃんと来るんだけど・・・orz
これってどんな状況でも入力された文字を受け取れる方法ってあるかな?
ATOKとかはどうなんだろうなぁ・・・。

717 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 00:49:52.40 ID:X716KWav]
Nyaruruとかいう人が随分前にそんな記事書いてたな。
詳細は忘れたが

718 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 01:08:06.85 ID:e6ZWuSMF]
UpdateSourceTriggerがPropertyChangedでソースがupdateされないって意味だろうか…
コードビハインド側でならイベ拾えてるとかあるし、もし発生してるなら
手動でUpdateSourceしちゃうとか…

719 名前:デフォルトの名無しさん [2014/03/31(月) 02:15:54.07 ID:ETDm8N10]
>>717
その人がGoogleIMEに絡んでてWinRTのIMEは魔界だ的なつぶやきしてた希ガス。
個人的にはあの人をIMEなんかに時間とらしてるのが勿体無い希ガス



720 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:48:13.83 ID:I0zYfHgV]
MSは昔からIMEの仕様をいい加減にしてる
Googleはしっかり対応できないので適当に実装をしてる
研究費はかけたくないみたいだ

MSのアーキテクトがちゃんと考えてないんだと思う
IME使ってない人間が開発してる恐れもある

721 名前:デフォルトの名無しさん mailto:sage [2014/03/31(月) 19:51:27.81 ID:pqvpBedH]
>>720
あれはepson製でしょう?

722 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 12:36:43.32 ID:VeuFJ2+/]
MS-IMEって中華製なんでしょ?

723 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:10:32.83 ID:eGYDDpSi]
XAMLで配置したコントーロルのうち、テキストを入力可能なものを選んでC#コード側である処理を行いたい場合、どうやればいいですか?
コントロールを一個一個取得するコードはできていて、デバッグ実行すると各コントロールのインスタンスのプロパティは見えています。

724 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:16:47.80 ID:fbrPwcTM]
>>723
「テキストを入力可能なもの」というのが、
IsReadonly=falseのものを指してるのか、IsEnabled=trueのものなのか、
文字列を設定可能なコントロールを指してるのか、意味不明なんだが

725 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:23:49.39 ID:eGYDDpSi]
>>724
画面上に存在していて、テキストの入力を受け付けるコントロールを選びたいので
前者が意味的に近いと思います。

726 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:29:31.87 ID:fbrPwcTM]
>>725
コントロールを取得するコードがあり、各コントロールのインスタンスのプロパティも見えてるんなら
あとはやりたいように実装すればいいだけでは?

もしかして「見えてる」とは、コードじゃなくWPFビジュアライザのこと言ってる?

727 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:34:47.41 ID:33nh4Dwt]
ホントに質問の意味がわからない…
よもや if を知らないとかそういうレベル…?もうwpfうんぬんやないでそれだと。。

728 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:39:38.48 ID:eGYDDpSi]
>>726
コントロールを1つずつスキャンするコードの中で、
今スキャンしているコントロールがTextBoxなら、追加の処理を行う、
ということは実現できています。
これを、TextBoxに限定せず、一般のコントロールに対して統一的に
文字が入力可能なコントロールを選別する方法があれば知りたい、というわけです。

729 名前:デフォルトの名無しさん [2014/04/04(金) 16:42:21.56 ID:QbEyL1Pb]
そもそも入力できるコントロールなんて幾つもないだろ



730 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:45:14.80 ID:fbrPwcTM]
>>728
そもそもなんでそんな面倒なことせにゃならんの?
UIが動的に変化するにしても、ターゲットとなるコントロールの正体が判らんとは、おかしいにも程があるだろ

731 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:46:52.14 ID:nYgZv8ve]
入力可能というのをどうやって判断するのか

732 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:48:15.24 ID:XTcslJkb]
統一的にという話ならUIElementにTextInputイベントがあるくらいだから
WPFのコントロールでテキスト入力不可能なものなんてないんじゃないの

733 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:54:56.35 ID:fbrPwcTM]
Textプロパティがあるかで判断する方法も考えたが、
そもそもContentにも文字列設定可能だし
だからこんなこともできちゃうし・・・

<Window xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="223.611" Width="375.521">
こんにちは
</Window>

ある意味WPF最強w

734 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 16:58:20.60 ID:eGYDDpSi]
>>730
タブレットデバイス向けに、オンスクリーンキーボードを自動的に出したり引っ込めたりする必要があります。
WindowsStoreアプリなら、入力可能な部分にフォーカスが当たると自動的にオンスクリーンキーボードが出ますが
ある制約があって、WindowsStoreアプリではなく、デスクトップアプリとして実装する必要があります。
>>731
まさにそれが知りたいです。

>>729
これまでのご意見を総合すると、コントロールを明示的に指定する方法がシンプルでよさそうです。

735 名前:デフォルトの名無しさん mailto:sage [2014/04/04(金) 17:20:25.39 ID:33nh4Dwt]
入力可能な個所は必ずTextBoxまたはTextBoxBaseであると限定できるなら、
VisualTreeHelper あたりでどうにかできそうではあるけど…
ComboBoxのIsEditable=TrueはデフォTextBoxみたいだ

まぁ、限定できない数じゃないしコントロールの型で判定した方がいいな

736 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:12:16.62 ID:6q+0yI43]
WPFのイベント・バブリングについて質問があります。
あるWindowの中に配置されているコントロールで、例えば、ボタンをクリックしたmousedownイベントは、
バブルアップして最終的にはそのWindowのmousedownイベントをも発火させると思っています。
しかし、ボタンをクリックしてもWindowのmousedownイベントのハンドラは発火しません。
どうしででしょうか?

737 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:20:27.77 ID:Z2CFn8dC]
>>736
これのせい
msdn.microsoft.com/ja-jp/library/system.windows.routedeventargs.handled%28v=vs.110%29.aspx

そんなに難しい話ではない
Handledプロパティがtrueになって処理済とされたイベントは
特殊な方法で初期化されているイベントハンドラにしか通知されない

738 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:28:31.15 ID:6q+0yI43]
>>737
ボタンのmousedouwnイベントを、最終的な親のwindowのmousedownイベントにまで届けるには具体的にどうすればいいのですか?
各コントロールのHandledプロパティはデフォルトでfalseのようなので、勝手に親に伝搬していくと思ってるのですがwindowにまで届きません。

739 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:34:23.80 ID:6q+0yI43]
あれ?もしかしてPanelのHandledはデフォルトでtrue?



740 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 18:37:57.90 ID:6q+0yI43]
PanelにHandledプロパティなんかなかった・・・orz

741 名前:デフォルトの名無しさん mailto:sage [2014/04/06(日) 19:16:49.40 ID:iSI+gb3E]
Buttonの場合は左クリックのMouseDownはたぶんOnMouseDownの時点で握りつぶすようだけど、
よく意図が分からん仕様だな。

MSDNには「一部のコトロールはそういう処理をする」とだけ書いてある。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<198KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef