WPF(.NET4.x, .NET Core) GUIプログラミング Part23
■ このスレッドは過去ログ倉庫に格納されています
Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
https://mevius.5ch.net/test/read.cgi/tech/1513175747/
関連スレ
Windows 10 UWPアプリ開発 Part 2
http://mevius.2ch.net/test/read.cgi/tech/1499658092/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/ >>68
そう思う?移植完了の後はロードマップ真っ白なのに?
ちなみにdotnet/wpfは4人くらいで作業していて、必要最小限の単純な移植を超える仕事は厳しく禁じられているようだ >>65
core対応でアクティブだと言えるならWPFだけじゃなくwin formsも
アクティブと言うことになるけど…
アクティブじゃないよ
もう開発してないよ 一度捨てたと思ったデスクトップの必要性が再認識されてきている。
これから夏にかけxaml islandの話題がMSより増えて行くだろうから
まずはそちらを気にした方が良い。デスクトップもUWPだけで行きま
しょうというMSの方向性が大きく変化したことは確かだから。
UWPのコントロールもそれぞれが共有できる方向に変化してきたので。
ただし、FORMに関してのxaml ilandはどうやるの?という疑問はある。
とはいえ、WPFが新たに拡張されてという話とはちょい異なる。
この数か月のマイクロソフトの発表をみましょ。 >>69
もしかしてひとつのフレームワークに4人ってのが少ないとでも思ってる? あれだけ押してるBlazorもフルタイムは1人だもんね >>73
MSレベルっつーか人月単価100万ってそんなに優秀じゃないぞ この中でvb.net派の人いるかな....
新しいプロジェクト作成するたびににC#に移行しようと思っても、やっぱりVB選んでしまう...
おかげでC#のサンプルでも即座にVBに変換できるようになったわ 別にVB.NETでもかまわんと思うけどね
C#を推奨したい日本マイクロソフトのバイアスがずっと続いてるけど、ちゃんと他人にも分かる様なコード書けば問題無い
まあ、それがVBプログラマーの悪い所だが VB.NETでラムダを多用するようなソースコードを書くと見づらくてたまらないんだよな
まあ一人で書いてるソースであれば好きにすればいいんじゃないとも思うけど
引き継ぎや担当者アサインのことを考えるとちょっとなあ
若手・未経験者に今更VB.NETを覚えさせるのも後ろめたいというか倫理的に問題があるし
かといって「VB.NET出来ます」っていう人のスキルって大抵VisualStudio2005〜2008あたりで止まってる人が多いし
新しめの(VS2015/2017あたりの)文法を使うならそれこそC#で書くほうがスマートだし 俺は基本的にはVB派だが、ラムダ式だけは何とかならんかったのかと思うわ
あとヌル合体演算子はよ マイクロソフトが好んでやりたいというより、VBで行きたいという声がスゲー多いためにそうせざるを得ないということだろな。これが人間社会ちゅうものなんだろう。 リストボックスに画像表示するにはなんの関数を使うのか教えてください
ヒントだけでいいです
String[] img = System.IO.Directory.GetFileSystemEntries(
@" C: \Users\ワイ\Desktop"
);
//Directory.GetFileSystemEntries Method
for (int i = 0;i< files.Length;i++) {
listbox_right.Items.Add(img[i]);
これだとテキスト表示になります
そもそもlistboxはテキストのみなんですかね。 >>89
WPFの場合はコードはそれでいい。
XAML側でListBoxのItemTemplateを定義し、ImageのSourceプロパティに{Binding}でバインドする。
何を言っているのかまるで意味がわからないと思うが、それがWPFなんだよね。
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/data/data-templating-overview?view=netframework-4.8
まずはこの辺りのドキュメントを完全に理解できるようにならないと話にならない。
はっきり言って、今更こんな複雑怪奇な終わったフレームワークを無理に覚える価値はない。時間を無駄にする前にWPFは止めなさい。 じゃあ代わりに何をすればいいのですか?electronはメモリ食うという噂が
vs codeは実際そうです >>91
Windowsのデスクトップアプリは迷走しまくっている
UWPも先行きが怪しくなってきて、もはやMS自身も今後どれを推奨するか明確に決まっていないという無茶苦茶な状況だ
・スキルの汎用性を重視する : いっそWebへ乗り換えるか、ElectronでWebベースの技術で作る
・学習コストを最小化する : WinForms
なるべく時間を無駄にしないためには今ならこのどちらかだろうな electronですか、rpgエディタみたいなの作れますか・ >>92
横からですが、参考になりました。
いろいろググってて数年前の情報で、「新規開発で WPF を選択しない理由はない」みたいなことが書いてあって、
調べ始めたところでした。
ざっと読んだ感じ、昔の MFC や OWL の Doc / View みたいな感じ? >>93
そりゃ作れるけど、ゲームならUnity使ったほうがいいんじゃないか?
ゲーム用の開発スイートだからゲーム本体はもちろんだが、簡単なGUIアプリも十分に作れる
あと個人的にアドバイスさせてもらうと、ゲームはまずゲーム本体から作った方がいい
俺も初心者の頃に同じことをやろうとしたことがあるから分かるが、ツールから作ろうとすると結局後で無駄になる
エディタなんてexcelで十分 勉強も兼ねてるので1から作ろうとしています
2d専用のウルフエディタみたいなものを目指してますね
electronだと重いみたいなことが言われますが、2dなら問題ないと思います バインディングの超簡単なサンプルってないですか?
テキストボックスに文字をバインドするという仕組みなんですが。
<TextBox Name="textbox_center" Text="{Binding x}"/>
プログラム側でのx変数への文字の指定方法が見つかりませンでした
また、そもそもバインドとは、タグのプロパティに変数を指定する仕組みということでしょうか?
また、set ; getみたいなやつの意味がわからないです
超簡単なサンプルのページ教えてください >>97
> set ; getみたいなやつ
自動実装プロパティのことかな WPF binding
で検索するといっぱい出てくるよ バインディングが効かなかったのはTextBoxコントロールを使っていたからですね
TextBlockにしたら効いたのですが、なぜでしょうか?
どちらも単なるテキストの表示です Electron は、Chromium(ブラウザ) + Node.js(サーバー)だから、300MB もある!
ツクールなども、Node.js か、Ruby on Rails じゃないの? そもそもデスクトップアプリ作るのにWPFがいまいちだからElectronって、後退してるよな。 C#経験が評価されて今度ASP.NETの案件に参画するかもしれん
同じC#だが、覚えるのキツイな
だがついにデスクトップアプリマンの俺がデスクトップアプリから脱皮する時がきたわ
windowsサーバーだから個人開発では使えないし潰し効かないのが難点だがな・・・ >>105
最近はASP.NET coreがあるから個人でもLinuxサーバで使えるのでは? >>106
そうなんだ
まだASP.NET MVCの基本しか勉強してないから知らなかったよ
個人でLinuxサーバー構築してずっとパソコンつけっぱなしで扇風機でもつけて冷やしとけば良いのか?
しかしインフラの知識が少し弱いし、それだとPC一台専用で買って常に動かしとかないといけないよな?現実的じゃないわ
あとアーキテクチャがMVCの方とどの程度違うのかによるな
アーキテクチャが全然違ったらまたかなりの勉強が必要になるし あ、違うか
linuxのレンタルサーバーに実行環境をデプロイして自分で環境構築しちゃえばいいのか
レンタルサーバーって最初からApacheとかは入ってるから自分で環境構築という発想がなかったわ
いけそうな気がするな、うん >>107-108
VMwareなりVirtualBoxとか使えばいいだけだろ
メモリー8GB程度あればCentOSの最小インストールなら普通に動くし >>109
常時起動ならレンタルサーバ借りたほうがいいよ
てかVMwareにLinux入れるくらいだったらBash on Ubuntu on Windowsでええやろ Bash on Ubuntu on Windowsはないわ〜 >>110
ケースバイケースだろ
個人開発でテストだけでレンタルサーバーまで借りなくてもいいだろうし小規模ならRaspberry Piとかでもいいし >>113
個人利用ならAzureやAWSの無料枠で十分 >>112
それは実装途中の物みたいだから続きを読んでいけばいいんじゃないかな(無責任) UWPの次の将来性のあるフレームワークができるまではWEBで食ってようかな
windowsアプリなんて金にならなさそうだし hoge{get;set;}
これの意味がわからないのですが、超絶シンプルな例ってないんでしょうか?
例えばテキストボックスコントロールのTEXTにhogeという変数をバインドして、
hogeにプログラムないでhoge="文字";などと代入する
その歳の仲介というイメージなのですが、具体的にどういう動きをするんでしょうか
プログラム内で"文字"をgetして、バインドされたhogeにsetする?なんて意味ですか? 要は通常はxamlからhogeの値は参照出来ない
それを許可するための宣言がgetということですかね? このレベルからWPFとか素人にハーフマラソン走らせるレベル >>120
君にはプログラミングは無理
肉体労働するといい 基礎からやろう?って何週間も前からいろんな人から散々言われているのにそういうアドバイスは一切無視して延々と質問続けるだけだからね
ツールは当然一生完成しないし技術は大してつかないで終わるよ >>120
wpfはviewとviewmodelをdatacontextを介してやりとりするんや
例えばmainviewのdatacontextにmainviewmodelクラスを指定した場合、
mainviewmodelクラスのプロパティの値をバインディングすることでviewに表示することができる
c#でもJavaでもプロパティは外部への情報公開を目的としてるから
その意図をそのまま利用しとるだけ
大分ざっくりした説明だけれど、もし全く理解できないのなら前でも誰か言ってたけど、
windows formにするかコードビハインドに書くやり方でまずはやったほうがいい
JavaScriptにもMVVMの概念はあるからそっちから攻めるのもありかもしれない >>120
内部変数を省略してるだけなんよ
private の内部変数がコンパイル時に勝手に作られる >>120
自動実装プロパティっていつ使うのって話ならWPFはほぼ関係ない
自動実装プロパティは.netの機能でWPFは.netの一部
というだけの話
これは基礎からやれって話なのか?だけど
今からならwindows formsは勉強しなくていいと言う人もいるし
実際しなくていいだろう
ただWPFの解説書に.netについての解説なんかないよね
1からやる場合こういう.netの知識が曖昧になっても不思議はないと思う
.netは追加機能も多いし巨大すぎる > 今からならwindows formsは勉強しなくていいと言う人もいるし
> 実際しなくていいだろう
何を馬鹿なことを言ってるんだw
最近の初心者向け本では逆にwinformsしか説明してない
WPFなんて眼中にない >>132
素人向けだからだろ?
wpfはMVVMとかxamlがくっついてくるから、winformの方が初心者向けなのは当たり前だ で、ユニバーサルプラットフォームって
何と何と何があるのかな? UWPとWPFの区別がつかない人がドヤ顔でマウンティング 最近増えてきたガラスのような表現のフレームワークはWPFですか? xaml islandが出てきて、UWPじゃないとできないという制約が
なくなってきたね。 逆に今後の新規開発や追加開発ではWPFもういらないってことなんだけどな
既存のWPF部分に手を入れざるを得ない場合を除き、常にWindows Runtimeで作る
それが今後のWPFアプリケーションの唯一の正しい作り方だ >>140
ジョジョでいう
シルバーチャリオッツレクイエムみたいなもんか >>141
スタープラチナのザワールドだろ
通常はスタープラチナの精密で力強い攻撃で対応して無理なら時を止める Double型をバインディングしたTextboxに小数点を入力するとエラーになり問題、Extended Wpf toolkitのDoubleUpDownをTextboxの代わりに使ったらあっさり解決...
今までわざわざstring型でバインディングして数値だけ入力制限したりあれこれしてたのが無駄だったわ Windows API Code Packというのは機能を拡張するものですか?
c#で使用できるんでしょうか? Directory.GetFileSystemEntriesで画像を取得できますか? >>150
関数の仕様をリファレンスで調べてきて引数と戻り値と動作を読んで、それでも分からないことがあったらそこを具体的に質問すると丁寧に答えてもらえるぞ wpf関係ないじゃん
何がC#でなにがwpfかもわかってないんでしょ
散々チュートリアルやろ?って忠告を無視して延々と同じような質問繰り返してりゃ答える側も馬鹿らしくなるよ 画像ってのがサムネイルのことならWindows API Code Packで出来るんだが
もう少し自分で調べたほうが良いと思うよ Windows API Code PackはForkがいくつもあってどれを使えばいいのか分からないな。
ライセンスも元のMSのページが消えてて良く分からんし。 ただ、ファイルシステムをCodePack使わずにWin32API使うと面倒になるからな
言うほど大変なわけでもないが、独特な管理方法で面食らったわ >>156
ファイルシステムってなんのこと?
フォルダー選択ダイアログとかを出すことかな 社内業務用にpowershell+.NETで簡易GUIを表示するようなアプリケーションを作る場合、商用ライセンスとか必要なんでしょうか? どっちの意味だろう?
・(作成するアプリケーションの)商用ライセンス
・(VisualStudioの)商用ライセンス
よく主語が抜けてるとか言われてるけど
この場合、連体修飾語が抜けてるよね(今調べた) 後者の意味にしか取れなかった、というか前者の意味がわからん
社内用に作ったアプリに商用ライセンスつけるか、って話? 社内配布でも基本的にはVSの開発者用ライセンス必要だし、
オープンソース使ってるならライセンス違反にならんように気をつけなあかん
自分個人だけで使うなら特にライセンス気にすることはないだろう うん
前者なら上長に聞けと思った
後者について VisualStudio Community のライセンスを調べたところ、
オープンソースプロジェクトや学習・研究目的ならどんな企業も問題ないが、
相談のケースはクローズドソースと思うので、以下の条件になるはず
・一般企業なら5ユーザーまで
・大企業(250台PCを所有、または売上100万ドル)なら、使用不可 VS Express2015なら無料で使用できますね
あとVS Codeを使うことも可能だが、WPFを開発って結構苦行かもしれんね メモ帳とかでソース書いてWindowsにプリインストールのcsc.exeでコンパイルした場合はVSのライセンスっていらないのかな?
スレチだけど 質問の仕方が悪かったですね
すみません
テキストエディタでpowershellのコードを書き、その中で.NETのFormオブジェクト達を呼び出してGUIを作ります
そのときに、powershellや.NETの商用ライセンス的なものが必要なのか知りたかったです
よろしくお願いします まさかの第三
・(実行環境の)商用ライセンス
だった ■ このスレッドは過去ログ倉庫に格納されています