WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
■ このスレッドは過去ログ倉庫に格納されています
Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21
http://mevius.2ch.net/test/read.cgi/tech/1494288553/
関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/ サーバーサイドはクロスだけど微妙にしか人気ねぇし、Xamarin捨てる勇気なかったのか >>197
どこをどう読んだらそうなるんだよwww .NET Core 3ハWindowsデスクトップアプリをサポートする
https://www.infoq.com/jp/news/2018/05/net-core3-announced
開発者が、既存の.NET Framework for Windowsではなく.NET Coreを使いたい理由はなにか?
それにはいくつかの理由がある。まず、.NET Frameworkとは違い、.NET Coreアプリは完全に独立しており、異なるバージョンの.NET Coreを使用することが可能だ。
.NET Core 3の新しいオプションでは、.NET Coreランタイムと組み合わせて実行できる単一の実行ファイルを生成することが可能だ。
この発表に反応した開発者は、WPFとWinFormsをGitHub上でオープンソース化する可能性について尋ねた。
興味深いことにこの要求は、Lander氏に否定されてはない - Microsoftは将来的にオープンにする可能性がある。
コミュニティの主な望みは、これらをmacOSやLinuxに移植するよりも、Windows用のGUIツールキットの拡張とモダン化である。 .NET Coreが全然注目されないからいろいろやりだしたんだな
いままでの.NET Coreって誰から見たら魅力があるのかわからない微妙な物だから
積極的に使いたいと言う人は少なかった 日本は全体的に低レベルなエンジニアが多い
なのでUIとその他のロジックがガッツリ結合して分離できない
なのでそう簡単には.Net Coreに移植できなかった
そうする必要のないあらゆるものまでがdnfやwindowsインフラに依存してしまっていたんだ
そりゃ移植して使えないものに魅力は感じないだろう
海外では設計が綺麗なので細かいコンポーネント事に移植の可能性を検討することができた
移植可能なものはすぐに移植する動きが広まってあっという間にCore対応が進んだ
彼らは高パフォーマンス、セルフコンテインドデプロイ、マルチプラットフォーム対応といった様々な収穫を殆どタダで得ることができた
.NET Coreはとても魅力的でエキサイティングなアップデートだった .NET Coreは既存の環境から乗り換えたいと思わせるだけの魅力がない
windowsで,.net frameworkから乗り換える人は少ない
linuxで他の言語から乗り換える人も少ない
利点をはっきり打ち出せてない
ただ作りました使ってくださいじゃ使わない コンパイルして起動時間が一桁早くなるってのは十分な魅力だと思うが >>203
>>202でも書いたけど日本ではスパゲティシステムだらけで移植のコストが高すぎたから受け入れられなかった
海外では日頃から品質を高める努力をしていたので移植が容易にできた
そして様々なメリットを享受することができた
利点を示せなかったのではなく
利点を示したけど日本だけが利点を受け入れる下地ができてなかっただけ
つまり日本はハブられたんだよ
いじめられっ子がリア充の生き方なんつまらないと負け惜しみを言うようなもの
キツネとすっぱい葡萄の心理というやつだ >>204
起動は確実にクソ遅くなるよ
今までは共有ライブラリとしてシステムにインストされいて自然にメモリにキャッシュされてた大量のDLL達を、
ローカルにバンドルしていちいちディスクからロードするんだから >>206
.net nativeはスタティックリンクだから、ライブラリの中で使っている部分だけ切り取って本体に取り込んでリンクするんだわ
通常はファイルサイズが激減します >>207
勘違いしてるようだけど、.NET CoreのSCDと.NET Nativeは別物だよ
SCDは.NET Coreランタイムと依存DLLを全部バンドルするだけ >>208
一番要望の多いnative取り入れないとは思えないが、情報あるの? 体感的にわからない程度に起動が遅くなるかもしれない
デメリットってそれだけ? >>209
https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/
あくまで.NET自体を簡単にバンドルできるのが売りだ
.NET NativeはあくまでWinRT版の.NETの機能で、今出てる.NET Coreとは関係ない
ちなみに、.NET CoreではNuGetパッケージを結構細かく分割するのが普通だから、
WinFormsやWPFがそれぞれ丸ごと一つのNuGetパッケージになるようなことはたぶんない
必要なNuGetパッケージをある程度小分けで取捨選択できるようにはなるから、
今のSystem.Windows.Forms.dllよりは結果的にロードするサイズが小さくなる可能性はあるよ >>211
将来はともかく、最初はこの程度なんかね よく分かんないけど
動作環境の.NETバージョンに影響されずに済むって話じゃないの >>210
全部バンドルしちまえってのは今時の流行りで基本的には良いものだけど、あえて挙げるならこんなとこかな
・配布サイズがクソ大きくなる
・DLLのディスクキャッシュが共有されないのでメモリを食うかも
・.NETに重大な脆弱性や不具合が見つかってもユーザーの裁量で.NETを更新できない
・NuGet必須なのでインターネット環境がないとビルドすらできない
・NuGet必須なのでキャッシュなしの状態だとビルドがクソ遅い ・.NET Coreは(NuGetのせいでもあるが)デバッグが遅い
も追加で >>214
RuntimeStoreも知らないようだし、NuGetがインターネット必須ってのも大嘘
ユーザーの裁量でRuntimeを更新できないってのも嘘 >>217
最近はずっと.NET Core&C#&Azureやってるよ
一般的な常識に基づく推論と俺の個人的経験で書いただけだから、間違いがあるなら具体的に指摘してるれると助かる corefxやcoreclrも知らないからユーザーの裁量でランタイムを更新できないって発想になるんか? >>216
そちらは新規開発案件の1割以上がc#を使ってる世界ですか?
不思議な世界ですね
こちらの世界は全ソフトウエア開発者で.Net Coreを知ってる人が
1%以上いるかどうか怪しいです >>219
配布サイズが大きいのは、RuntimeStoreのない時代かもしくはランタイム自体をアプリに同梱する場合ね >>223
いい加減に空想の世界から出て来いよ
.Net Coreなんてほとんど誰も知らない
C#使ってる中でも知られてない
みんな跨いでいく デスクトップでCore使うメリットはSCDで、当然それは大前提だと思ってたんだけど
システムにCore入れるならそれこそ何の意味もなくね? サーバサイドでも使われてない
デスクトップでも使われてない
業務でも使われてない
趣味で使うのがちょうどいい
C#大大大大好きだけど.Net CoreやAsp.net CoreやUWPは早く消えてほしい >>224
Stackoverflowのreportでも見て現実を直視しろよwww >>225
どうも思い込みが激しいようだ
どっちかって言うとSCDこそ特殊な場合で、SideBySideでランタイムをインストールする方が良い >>228
だからそれFull .NETのサイドバイサイドと比べて何のメリットがあるの? >>230
たとえば.NET4.5.2と4.6.1はSideBySideでインストールできないっしょ? >>232
結局システムに.NETを入れさせなきゃいけないのは同じだよね
.NET Coreなんか頻繁にアップデートされてるから事実上はほとんど特定のアプリと一対一になるだろうし、
アプリ側で.NETのバージョンを上げたくなったらまたそのアプリのためだけにまた特定バージョンのCoreをインストールさせるのか?
そのとき前のバージョンを安全に削除できるかどうか誰がわかる?
開発環境でのテストくらいにしか使えないよこんなの まだ実用化されていない技術のブログ記事上げてドヤってる
それは既存の.Net Coreの利点じゃないだろ? コアのアーキテクトの戦略がフラフラしてる
魅力のないロードマップがそれを物語ってる >>230
こいつSideBySideなんて知らんのやろ >>236-237
.NET CoreのSideBySideを利用したデスクトップアプリの正しいデプロイサイクルを具体的に説明してくれ ちなみに.NET Coreって月一くらいのペースでバージョン上がってるんだが、それ全部SideBySideするってことだぞ?
アプリとは別にシステムの.NETのバージョン管理の余計な手間が増える以外になんかSCDと比較してメリットある? >>214
NuGetって言葉覚えたてかな?嘘ばっかwww >>240
結局アプリごとに必要とするバージョンが違うケースが多いはずだからSCDでいいだろと言ってるんだけど、これだけ言っても伝わらない? >>242
>アプリごとに必要とするバージョンが違うケースが多い
なんで? >>244
そりゃ.NET CoreかつFDDのアプリ自体が(WinFormsやWPFがサポートされてもなお)稀だろうし、
フレームワークの方も月一で更新されてるとなれば共有できるケースは現実にはほとんど無いでしょ もちろんデスクトップアプリに限った話な
サーバーだと一括で複数のアプリをデプロイしたりすることは普通にあるからもちろん意味はあるよ WPFってグラボの違いでどれくらい速度変わってくるものなの?
ハイスペックグラボ使う意味ある? 大変そうだな。予防線はりまくりマウント取ろうと形だけは前傾で デスクトップ対応はありがたい
業務系でウェブアプリはめんどくさいだけなんだよね >>211
https://github.com/dotnet/corert
corertとかあるけどこれちゃうの?
ちょくちょく試すけど相変わらずx86がうまく生成されなかったりIssue多すぎて
比較的アクティブとはいえ使い物になるのかよくわからん状況だけど
VCランタイムすら不要の単体PEファイルになってdnSpyとかじゃなんも見れなくなるし
こういうのがプロジェクト単位でざっくりと組み込み検討できそうだから
デスクトップ向けの.NET Coreも結構期待してたりするんだけどね
WinformsとWPFのポーティングは朗報だけどどうせ改良する気はないんだろうし
クロスプラットーム化は無理でもせめてReference Source下じゃなくOSSにまでして提供してほしいもんだぬ なんでDateTimePickerすら入ってねえんだこのゴミは
こんなんだから普及しねえんだよ オープンソース化もあり得るって話だぜ
なんであれが無いんだーじゃなくてなければ作ってプルリクが当たり前になるのかな
数年後には有料サードパーティライブラリのような高級コンポートが標準化されるかもね 標準でnumericupdownすらないWPFに何を言っても無駄 欲しいものは自分で書いてプルリクを出せばいい
同じことをみんなやりだすからすぐにリッチコントロールが整備される そういえば標準じゃフォルダー選択ダイアログもないな WPFって正しく作法に従った汎用コンポーネント作るの結構難しいから、外野がプルリク投げてもなかなかマージされないと思うぞ
MS謹製のToolkitですら悲惨な品質でWPF本体にさっぱり採用されないまま潰れちゃったし Material Design In XAML ToolkKit 使えばいいじゃん 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
204GM FormsとWPFはUIテスト自動化への対応具合どうなの?
UIテスト自動化が快適にならないと躊躇してしまうよね
いちおうappiumのドライバは見つけたけど業務で使いこんでるぜって類の記事が全然出てこない prismってmessengerパターンするならEventAggregator使うようになったの?
InteractionRequestは過去のも? 今のprismってMSの手を離れて単なるコミュニティプロジェクトの一つだからなあ
開発者の好みが反映された寄せ集めのツールキット集に過ぎず、もはやリファレンスでもなんでもないよ >>263がInteractionRequestが好みなら自分でプロジェクトにコントリビュートすればいい
EventAggregatorよりも充実させればInteractionRequestがPrismの主流に見えるようになるだろう
今のPrismってそういうもんで、トレンドを追っても何の意味もない Datagrid内comboboxのdatatemplateのバインディングがどうやってもできないw >>266
サンプル見ると、スタティックなオブジェクトリンクしている Prism6.3でInteractionRequestのRaiseAsync使おうとしたらないんだけど
問題あってなくなったの? >>268
どこの馬の骨とも知れないメンテナの気まぐれ
君が復活させてもいいんだぞ >>252
>>254
いつかはWPFって思ってたのに移行できねーよそれじゃ
まあ、趣味ではWebサイトの方で忙しいから最近はC#あんまできないんだが UWPにもnumericuodownないんだよな。死ねよと思う。 タッチデバイスのためとはいえ、ほんと実用軽視には反吐が出るな。UI統一は大失敗。 >266
俺はこんな感じでやってるけど
comboBoxItemListはDataGridItemのプロパティにしてる
<DataGrid
ItemsSource="{Binding Path=dataGridRowList}">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Path=comboBoxItemList}"
SelectedValue="{Binding Path=column1}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid> 質問失礼します
以下の2つのTextBoxはどちらも期待通りに動作しますが
2つ目はx:Staticを使っているため文字数が多くなっています
<TextBox
HorizontalContentAlignment="Right"
Background="Red"/>
<TextBox
HorizontalContentAlignment="{x:Static HorizontalAlignment.Right}"
Background="{x:Static Brushes.Red}"/>
新しく定義した型で1つ目のような短い記述を行いたいのですが、
HorizontalAlignmentのような列挙型では特に工夫することなく実現できるものの
Brushesのようなケースではどのようにすればいいか分かりませんでした
BrushesはRedのような静的プロパティをたくさんもつだけのクラスなので
Background="Red"という記述が受け入れられたり
この記述を行うときに入力補完が働いたりする仕組みが全く想像できないのですが、
そのような仕組みを新しく定義した型で使うことは可能でしょうか
もしご存知の方がいらっしゃれば教えていただけると嬉しいです
よろしくお願いします >>278
お返事どうもありがとうございます
以下のコードを読んでみたのですが、それらしい箇所を見つけることはできませんでした
お手数をかけて申し訳ありませんが、読むべきソースを具体的に教えていただけないでしょうか
どうぞよろしくお願いします
(NGワードのためURL省略) 280のURLです。NGワード回避のため一部省略しています
XXX = https://referencesource.microsoft.com/(中略)/System/Windows/Media
XXX/Brush.cs
XXX/Brushes.cs
XXX/KnownColors.cs 何度も申し訳ありません
(中略)の部分は #PresentationCore/Core/CSharp です コンバーターが明示的に指定されてないけどデフォルトでそういう動作すると決まってるだけでしょ
そういう仕様
自分の作ったクラスは明示してコンバート ようやっと過去の物をprismに移行した
livetさらば だが果たした役割も大きいで…見方によっちゃリーディングカンパニーではあった そう思ってるのはWPF関係者だけで
今の世の中に対してなんの爪痕も残せてない
影響はどこにも及んでない
FBがWPFをぼろくそに言ったことも忘れてる
そのFBはreact作ってる AndroidのGUIフレームワークなんか明らかにWPFを参考にしてるし、
今やWebのSPA開発の標準となったMVVMの発祥地でもある
まあプロダクトとしての設計や実装がアレだったが根本の思想はわりと広く受け入れられた うわぁこれは日本スゴいと同じメンタルですね
ダッサ MicrosoftのC#が発祥でパクられまくってる便利機能って多いよね
MVVM、MVC、Task、async/await、Linq、Rx、var、EF、、、
Nullセーフティなど最近は遅れる事があるけどSpanやrefタイプみたいな試みはまだまだ先を行ってるね webのMVVMとWPFのMVVMは全然別物なんだけど >>291
よく見たらMVCまでC#起源とか言い出してるし
韓国人みたいなメンタルになったら終わりだぞ? いい年こいて自己評価が低い奴ほど所持品や帰属集団を持ち上げるのよ
そうしないとアイデンティティが保てないからね ボタンにマウスが乗っかるときのアニメーションを切りたいんですが
どんなコードになるんでしょう
XAMLじゃなくてコードで書きたいです ■ このスレッドは過去ログ倉庫に格納されています