- 1 名前:デフォルトの名無しさん mailto:sage [2019/05/16(木) 07:52:32.39 ID:8fOYIMEO.net]
- Windows Presentation Frameworkについて語るスレ。
前スレ WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22 https://mevius.5ch.net/test/read.cgi/tech/1513175747/ 関連スレ Windows 10 UWPアプリ開発 Part 2 mevius.2ch.net/test/read.cgi/tech/1499658092/ コードを貼る場合は以下のサイトの利用をお勧め。 run codeのチェックは外しておきましょう。 ideone.com/
- 607 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:46:52.41 ID:5hrkIwVX.net]
- WPFは既存の技術すべて置き換えるために作られたはずだけど
実際はそこまでのスケールじゃなかった HTML VB6 winforms MFC 全部生き残ってしまった
- 608 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:49:41.98 ID:01TaglzE.net]
- XAMLがわかりにくいから置き換わるわけがない
- 609 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:12:48.53 ID:FQM1aXM6.net]
- XAMLそのものはそこまでわかりにくくないだろ
ややこしいのはMVVM
- 610 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:25:24.89 ID:wSbsYOJ/.net]
- WPFはライブラリの出来は良かったのにGUI周りの出来が悪かったのが痛かったな。
あまりに貧相であれじゃ客が
- 611 名前:[得しない。 []
- [ここ壊れてます]
- 612 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:26:09.78 ID:01TaglzE.net]
- あなたのような優秀な方には簡単かもしれませんが、
わたしのような底辺にはわかりにくいのです つまり広まりません
- 613 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:33:06.34 ID:5hrkIwVX.net]
- >>586
何のことを言ってるかわからないけどWPFは半端だったのでいろんな機能をwinformsに頼らざるを得なかった winformsを置き換えるものとしては実装が不足してる
- 614 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:10:15.41 ID:/h3P8awM.net]
- >>586
WPFのコアな部分はレガシーなウィンドウシステムを捨てて再設計するんだってそれなりに気合い入れて作られてると思う。 だけど色々出来る分複雑になってるのに、それをラップしてユーザーがお仕着せで良いから楽に使えるようにする支援ライブラリ的なものが足りな過ぎたね。 標準のコントロールもFormにあるのは一通り押さえておけば、MVVM抜きならそれなりに簡単に使えるのに。
- 615 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:12:50.23 ID:ij5Jd0yF.net]
- XAMLでわかりにくいならhtml&cssのデザインは地獄だろうな
XAMLがいかに親切か実感できるぞ タグで囲むデザインはもう飽きたからもっとシンプルにしてほしいけど JsonかYAMLで
- 616 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:15:26.16 ID:qess7VlR.net]
- WPFデザインってWin7のLunaテーマのイメージ
- 617 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:16:18.43 ID:qess7VlR.net]
- LunaじゃなくてAeroだった
- 618 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:22:45.61 ID:VVV12Px/.net]
- >>591
WPF標準でも一応GUIのテーマが用意されてるけど、LunaやAeroで止ってる… 正にVistaか7の時代
- 619 名前:デフォルトの名無しさん [2019/08/26(月) 22:29:08.48 ID:Wx9nEB+f.net]
- >>589
ほんこれ 気合いの入れ方が中途半端すぎ
- 620 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:04:10.96 ID:MCFEqLYy.net]
- 一度に全部学ばないといけないからだろ。xaml,データバインディング,MVVMと。最初俺も死にかけたわ。
androidやりはじめたときはレイアウトファイルのxmlくらいだったから敷居は低かった。で、随分後にandroidもデータバインディングに標準対応して、順番にゆっくり学べるからな。
- 621 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:17:19.25 ID:MCFEqLYy.net]
- かたや、WPFは一度挫折した後に作戦変えて最初はデータバインディングとかMVVMとか無視してアプリ作ってみようとしたが、ListViewとかItemsControl系はアイテムテンプレート使わねぇと仮想化できないし、
やっぱデータバインディングとかすぐに学ぶはめになったし。
- 622 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:27:56.52 ID:GeaqRBlJ.net]
- データバインディング便利でいいじゃん。
表示とロジックを分離できて見通しがいい。
- 623 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:32:49.32 ID:CfenbB74.net]
- MVVM便利すぎてWinFormsでもMVVM使ってしまう体になってしまったよ
- 624 名前:デフォルトの名無しさん [2019/08/26(月) 23:37:29.50 ID:Wx9nEB+f.net]
- わかるわー、
MVVM慣れるとレガシーは面倒すぎる
- 625 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:49:45.08 ID:MCFEqLYy.net]
- というより、MVVM学ぶ前は、ソフトウェアアーキテクチャ?みたいの意識しないで適当につくってたから今になってMVVM以外で作ろうとすると困りそう
- 626 名前:デフォルトの名無しさん [2019/08/26(月) 23:56:16.79 ID:Wx9nEB+f.net]
- あんた自分が勉強嫌いなだけじゃん
MVVM以前にもMVCやらデザインパターンやら 意識しないといけないものはいくらでもあったでしょう
- 627 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 00:37:24.80 ID:7s1l/ptn.net]
- じゃ、おまえVB6やWinForms自体にで何か意識して作ってた?
- 628 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 00:38:56.97 ID:7s1l/ptn.net]
- VB6やwinforms時代にどんなパターン採用してたの?
- 629 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 00:43:54.63 ID:Wpw9BTQZ.net]
- DOC-View も MVCもWinForm以前からあるんだが?
個人的問題ならマ板でしろや
- 630 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 00:53:36.96 ID:7s1l/ptn.net]
- 存在ぐらいはMVVM学んだら学ぶだろ。あほかよ。
- 631 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 03:48:51.51 ID:cPN8HTkT.net]
- MVP
- 632 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 05:34:30.66 ID:3C/EiBc0.net]
- 早
- 633 名前:ュ.NETでWin32を完全にリプレイスできるように
ならないな、はあ。 [] - [ここ壊れてます]
- 634 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 19:04:49.63 ID:bW2ePtKS.net]
- 無理だろ
windowsとは何かと言えばwin32のAPI群とそれで作られたコンポーネントとサービスの塊だから
- 635 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 19:28:50.81 ID:NopeFxN7.net]
- MVVMのライブラリーがMSから出てない事を知って真面目に取り組むのを止めた
- 636 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 19:46:08.12 ID:4WMOl80S.net]
- MSは今間違いなく迷走しているよね
BGM:バッドボーイブルース
- 637 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 22:38:41.78 ID:St7bRLq6.net]
- >>610
×今 ○ここ10年くらい
- 638 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 08:24:36.72 ID:Z2N7sLLL.net]
- OSS上がりはほんとテストしない。自己満足でドヤ顔で公開して放置。
- 639 名前:デフォルトの名無しさん mailto:sage [2019/08/29(木) 19:55:13.55 ID:dwig1eJB.net]
- 思い付いたアイディアコーティングして形になったらそれで興味は失せてしまう
品質とか興味無い
- 640 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 03:54:01.72 ID:iF4ecVgg.net]
- >>610 >>611
githubとかVSCodeのようなここ10年にない好調な分野で WPFの失敗を取り返した
- 641 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 15:32:23.77 ID:ERkIjfvr.net]
- >>607
もし奇跡が起きて.NET5が大成功したら、多くの.NETアプリはWebアプリとしてクラウド上のLinuxでホストされるようになり、 デスクトップのWindowsが単なるシンクライアントに成り下がる未来は来るかもしれない 万一そうなりそうだったら、MSは.NETを事実上Azureでしか使えなくするような縛りを入れてくるだろうけど
- 642 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 16:47:02.85 ID:GA3Qy85O.net]
- .NET5って、選択枝がそれだけという事だろ? 失敗なんてあるの?
- 643 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 17:50:33.12 ID:Ervdw2Vp.net]
- Blazorが天下を取るのは目に見えてるからなぁ
業務系は全部これでおk
- 644 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 18:17:06.08 ID:ERkIjfvr.net]
- >>616
.NET5が普及することが必ずしも.NET5の成功を意味するとは限らない みんながVSCodeやRiderでC#を書いて、AWS上のLinuxサーバーで運用するようになったら、MSから見れば大失敗だ そうなれば当然MSは.NET5を放棄することになるだろう MSにとって利益になる形での普及が成功の条件となると、なかなか難しいよ
- 645 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 22:01:53.87 ID:VcfE35DU.net]
- 放棄ってどうするのさ
態々くっつけたのをまた分割するのか?
- 646 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 23:03:11.02 ID:uONjY6PZ.net]
- >.NET5が普及することが必ずしも.NET5の成功を意味するとは限らない
.NET5の成功だろ 言いたいのはMSの成功を意味するとは限らないだろ
- 647 名前:デフォルトの名無しさん mailto:sage [2019/08/30(金) 23:15:11.32 ID:daE1ezev.net]
- OSSとはいえ特許があるから、MSが.NET Foundationから手を引いたら現実には開発の継続は不可能だよ
もちろん、MSは当然そんな最悪の結果にならないように技術面や政治面でコントロールするだろう 仮にそのコントロールが普及を妨げる性質のものであったとしてもね
- 648 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 00:01:51.67 ID:8S6g8PTE.net]
- >>614
アプリケーションフレームワークとツールの類を同列に語っても意味無い
- 649 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 00:21:51.42 ID:zHC92gqD.net]
- >>621
ちょっと何言ってるかよくわからない
- 650 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 00:39:06.27 ID:jKcP7puA.net]
- >>614
GitHubはただ買収しただけだし そもそもgitはライナスの作ったものだし… vscodeはGitHubがatomエディタ作るために作ったエレクトロンに乗っかってるだけだし MSはあまり貢献してない
- 651 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 00:59:08.53 ID:AytMhKL2.net]
- >>624
AtomとVSCode
- 652 名前:カゃElectron部分以外ソースほぼ別物だしMSはあまり貢献してないって暴論すぎる []
- [ここ壊れてます]
- 653 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 01:12:59.59 ID:UM0UH3ls.net]
- GitHubのプライベート数無制限もMSマネー後だしな
評価すべきところはちゃんとしなきゃね とはいえモダンなGUIに追従できるポジションのフレームワークが 悉く壊滅し続けている惨状を埋め合わせるものではない、というか関係ない
- 654 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 06:44:41.35 ID:+09iQaTY.net]
- モダンすぎるBlazor大成功確実
- 655 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 08:19:57.96 ID:BTqmdo6K.net]
- blazorってviewあたりはどうなってる?reactととかならmaterialやら色んなデザインのが今や豊富にあるけど。
- 656 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 08:32:47.45 ID:BTqmdo6K.net]
- dartとflutterはhammingbirdでwebのフロントエンドに進出だし、desktop embeddingでデスクトップも。dartは現状クソだからmicrosoftさんには頑張ってもらいたい
- 657 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 09:29:29.38 ID:DOQSWUJb.net]
- blazor触ったこと無いんだけどwebアプリってことはローカルファイルの操作とかは難しかったりすんの?
開発補助ツールとか作ったりすんだけど、そういうのはやっぱデスクトップアプリのほうが向いてるよね? そういうのもblazorでできるならちょっと触ってみようかなって思うんだけど
- 658 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 10:15:11.61 ID:AytMhKL2.net]
- >>630
なにができないかはWebAssemblyの制約に規定されるのでは? 俺もBlazor触ったことないけど
- 659 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 10:27:14.18 ID:OiY9nyzL.net]
- 今はviewはRazorのままだな。WPFをcanvasとwebglでエミュレートするとかできたらいいのに。
- 660 名前:デフォルトの名無しさん [2019/08/31(土) 18:02:22.42 ID:Yn5v13ie.net]
- BlazorっていえばWebAssemblyだと思い込んでたけどサーバーサイドがあるのか
やば、乗り遅れてるわ https://blog.okazuki.jp/entry/2019/06/11/135621
- 661 名前:デフォルトの名無しさん mailto:sage [2019/09/05(木) 06:45:37.44 ID:Sa2Ng6Af.net]
- 祝WinUI 2.2
TabView!!
- 662 名前:デフォルトの名無しさん [2019/09/10(火) 23:16:19.51 ID:wxmv+p95.net]
- WPF+XamlIslandでUWPのコントロールを使うとき
スタイルをどうやって設定するかご存じの方いますか? WPFプロジェクトだとUWPのXAML書けないです…
- 663 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 23:16:30.45 ID:o/5TVM4E.net]
- ちょっと古い質問かもしれないんですが、WPFのプロジェクトを新規作成して Prism.WPF、Prism.Core、Prism.Unityをヌゲットで適用したんだけど Microsoft.Expressions.Interaction が参照に入らないのです
やりたいことは Xaml で ei:PropertyChangedActtion を使って View の Xaml だけで他のコントロールのプロパティを変えたい(ElementNameとTargetPropatyとかでできた記憶があります)だけなんですが、これはどこにいったんでしょうか。
- 664 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 23:20:27.73 ID:o/5TVM4E.net]
- 補足です。当時はヌゲットがなかったから Expression.Blend とかをインストールして参照設定の拡張アセンブリから選んで使ってたと思います
- 665 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 01:12:36.63 ID:HDCFOJen.net]
- >>636
Blend SDKは廃止?方向みたいで、Xaml Behaviors for WPFがそれの代わり。 そのパッケージをnugetで追加して、xmlns:i=〜やxmlns:ei:=〜ってあった所は、 xmlns:i="schemas.microsoft.com/xaml/behaviors"に直せば前と同じに使える。
- 666 名前:デフォルトの名無しさん mailto:sage [2019/09/22(日) 22:53:58.06 ID:4iZ0rcTF.net]
- >>638
名前が変わったんですね ありがとうございますやってみます
- 667 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 17:08:59.96 ID:RqohR87j.net]
- MediaElementなどを実装したUserControlを
MainWindowで
- 668 名前:ItemsContrlを使用し複数表示しました。
その中の1つが選択されたときWindowいっぱいに広げたいのですがどうすればできますか? ViewModel側で選択されたUserControlは取得できています。 [] - [ここ壊れてます]
- 669 名前:デフォルトの名無しさん [2019/09/27(金) 00:31:03.92 ID:zANlzt+z.net]
- >>640
UserControl(View)をViewModelから参照するのはMVVMに反してるからオススメしない。 ItemsControのSelectedItemプロパティと選択中のViewModelとがバインディングできてるなら、 選択後にViewModelで全画面表示用のプロパティに値を設定すれば良い。 そのプロパティ値が変化したときにどうやってUserControlを全画面表示するかは、純粋にView(XAML)の問題だ。
- 670 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 12:08:12.14 ID:u+iGcBJm.net]
- >>641
やはりViewModelでUserControlを参照するのはマズいですよね。 プレイヤなので再生中の状態がそのままコピーされるとよいのですが。 全画面用のUserControlにどのプロパティを設ければよいでしょうか? 動画パスや再生時間を渡して読込からやらせるしかないですかね?
- 671 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 23:54:36.27 ID:fjlgNlFb.net]
- ItemsControl上でも再生とか停止ができて、選択したらWindowいっぱいにしたい感じ??
- 672 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 06:32:34.96 ID:yTyvrKRv.net]
- >>643
そうです。 何かスマートな方法ありますかね?
- 673 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 14:31:06.45 ID:7KAMFGQE.net]
- 拡大されてるムービーがどれかっていうのが、アプリのロジックに関係ないならクリックのイベントハンドラで書くのでいいんじゃないかな
ItemsControlから画面いっぱいにひろげる方法は知らないんだけど、そういうパネル作るののかな?
- 674 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 18:40:27.12 ID:OEfKx/qL.net]
- >>645
そうですね。 今はUserControlをItemsControlに重ねて配置してVisibiltyを切り替えています。
- 675 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 20:52:31.51 ID:XPio18TJ.net]
- PrismでRegion使えばチョチョっとできないかね
- 676 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 22:58:14.58 ID:RkNENkKq.net]
- 再生中の動画が流れたままシームレスにWindow全体に表示というのは厄介そう
- 677 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 23:32:48.35 ID:dmYXSMEs.net]
- UWPならMediaElementにIsFullWindowってプロパティーがあって問答無用でフルスクリーン表示にできる
あと、ConectedAnimationつかえるんだがな
- 678 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 00:34:01.71 ID:sW5PihO+.net]
- XAML Islandで解決じゃん
- 679 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 09:25:36.75 ID:EF3Cb7k3.net]
- >>649
>>650 ありがとうございます。 XAML IslandでUWPのMediaElementを実装してみます。
- 680 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 00:37:23.82 ID:YMHfANdP.net]
- おー上手くいったかどうか教えてくれると嬉しいな
- 681 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 08:56:41.44 ID:58CauEY5.net]
- UWPのはウィンドウいっぱいというより、全画面表示だけど大丈夫かな?
- 682 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 21:41:52.01 ID:akptwudD.net]
- >>653
やはりそうなの? 調べたらそれっぽいこと書いてあった Microsoft.Toolkit.Wpf.UI.ControlsのMediaPlayerElementを使ってみたのだが Sourceにバインドしても再生されない Xamlに直接書くと再生されるのだが…
- 683 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 14:09:07.32 ID:0y9ABYBv.net]
- .Net Core 3.0のWPFのユーザーコントロールのデータバインディングに関して質問なんですが、
MainWindow.xaml.csのコンストラクタ内でPrice=1000と代入しているのですが TextBoxのText(Value)の値が
- 684 名前:0から変化しないのですが、どこが間違っているのかわかる方いますか?
テキストボックス内にカーソルを合わせて上下キーを押すと1ずつ増える/減るの動作は正しく動いているようです。 DecimalBox.xaml <UserControl x:Class="test.DecimalBox" ...> <TextBox Text="{Binding Value}" PreviewKeyDown="TextBox_PreviewKeyDown"/> </UserControl> DecimalBox.xaml.cs namespace test { /// <summary> /// DecimalBox.xaml の相互作用ロジック /// </summary> public partial class DecimalBox : UserControl { public DecimalBox() { InitializeComponent(); DataContext = this; } public decimal Value { get { return (decimal)GetValue(ValueProperty); } set { SetValue(ValueProperty, value); } } public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(decimal), typeof(DecimalBox)); private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Up ) Value += 1; if (e.Key == Key.Down) Value -= 1; } } } [] - [ここ壊れてます]
- 685 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 14:09:33.92 ID:0y9ABYBv.net]
- MainWindow.xaml
<local:DecimalBox Value="{Binding Price}"/> MainWindow.xaml.cs namespace test { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow : Window, INotifyPropertyChanged { public MainWindow() { InitializeComponent(); DataContext = this; Price = 1000; } public decimal Price { get { return price; } set { price = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PriceData")); } } public event PropertyChangedEventHandler PropertyChanged; } }
- 686 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 14:19:23.75 ID:0y9ABYBv.net]
- 以下の部分コピペミスです
set { price = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("PriceData")); } 正しくはこうなってます set { price = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Price")); }
- 687 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 14:36:41.74 ID:0y9ABYBv.net]
- ちなみに、以下の部分を
MainWindow.xaml <local:DecimalBox Value="{Binding Price}"/> 以下のようにするとTextBoxの値は1000になります MainWindow.xaml <local:DecimalBox Value="1000"/>
- 688 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 15:38:14.92 ID:zdauYmXS.net]
- <local:DecimalBox Value="{Binding Price}"/>においてデータコンテキストは
DecimalBoxのコンストラクタで設定されてるDecimalBox自身 DecimalBoxにPriceなんてプロパティは無いのでバインディングに失敗する ユーザコントロール自身ではなく、その直下にGridとかのパネル置いてそれのDataContextに設定するようにする
- 689 名前:デフォルトの名無しさん [2019/10/09(水) 16:14:04.43 ID:0y9ABYBv.net]
- >>659
以下に変更したら動作しました。ありがとうございます。 cs側 public DecimalBox() { InitializeComponent(); textbox.DataContext = this; } xaml側 <TextBox x:Name="textbox" Text="{Binding Value}" PreviewKeyDown="TextBox_PreviewKeyDown"/> もう一つ質問なのですが、 DataContextの設定を今はcs側でやっていますが、 これをxaml側で行うことって可能なのでしょうか?
- 690 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 16:24:35.37 ID:0y9ABYBv.net]
- >>660
自己解決しました RelativeSource FindAncestorでUserControlまで遡ればよかったみたいです。 <TextBox DataContext="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}" Text="{Binding Value}" PreviewKeyDown="TextBox_PreviewKeyDown"/>
- 691 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 19:13:21.44 ID:Ce1FE6BG.net]
- >>659
> DecimalBoxにPriceなんてプロパティは無いのでバインディングに失敗する こう言う時は実行時でもいいから例外発生させるなりしてくれればいいのにね
- 692 名前:デフォルトの名無しさん [2019/10/09(水) 19:46:19.00 ID:yz69DB70.net]
- Binding失敗してるとデバッグログとかにメッセージ出なかったっけ?
- 693 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 19:58:14.79 ID:0fRzc22C.net]
- デバッグログに出るけど他にメッセージが多いと見落としがち
WPFにもx:Bind欲しい
- 694 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:00:06.20 ID:TJpx/LrH.net]
- さんざん欲しいと言われてるはずなのに追加されない
なぜだろうね
- 695 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:05:55.57 ID:bHkpFlre.net]
- .Net5なら
- 696 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:16:15.27 ID:mYLA6NTy.net]
- ないない
なんか勘違いしてるようだが、MSがWPFをCoreに移植したのはメンテナンスをしたくないからだよ 今後.NETランタイムがアップデートされてWPFが壊れて
- 697 名前:焉ACoreなら開発者は自己責任で古いランタイムをずっと使い続けることができる []
- [ここ壊れてます]
- 698 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:27:19.81 ID:E53UYuwr.net]
- winformsも同じだね
- 699 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:43:33.90 ID:yz69DB70.net]
- WPFはオープンソース化したんで何か起きるかもしれん
- 700 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:53:02.63 ID:373lwcNW.net]
- メンテナンスが放棄されcannaの二の舞を
- 701 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 23:31:18.85 ID:bHkpFlre.net]
- WPFは.netframework+WinUIと入れ替わる予定じゃないかな
xamlソリューションとしてはこっちのほうができが良い
- 702 名前:デフォルトの名無しさん mailto:sage [2019/10/10(木) 00:05:16.71 ID:/TNjFiTo.net]
- 引き合いに出すのがCannaかいなw
Struts1とかのがヤバくね
- 703 名前:デフォルトの名無しさん mailto:sage [2019/10/10(木) 19:08:05.52 ID:U4NCIrbo.net]
- WinUIは100%C++で書かれたwindows専用API
- 704 名前:デフォルトの名無しさん mailto:sage [2019/10/10(木) 20:23:18.39 ID:MeoT4exf.net]
- winui 3.0で新規に書き起こすんだから今なら下位のレイヤー取り替えられるようにするんじゃねぇかな?つまり、windowsから簡単に切り離せるように。
- 705 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 19:38:07.79 ID:NbTMQOfE.net]
- もともとwindowsの機能に依存したUIにすると思う
下位を汎用にすると設計が大変だから
- 706 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 20:17:33.23 ID:Mh9N3tse.net]
- 下位を汎用にした結果がWPFの大失敗だもんな
まあWPFが下位に抽象化レイヤを入れたのは移植性を高めることではなくて自由度を高めるためだけど、 結局出来上がったのはゲロ遅くて無駄に複雑でMSによるアップデートも遅いゴミ WinRT以降のOS側で高レベルなUIコンポーネントを提供する戦略は少々行き過ぎてる気もするけど、 少なくとも今更WPFの黒歴史を繰り返すことはないだろう
- 707 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 23:03:08.03 ID:XWYiG0pn.net]
- どういうことなの…
|

|