-
プログラム
-
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part21 [無断転載禁止]©2ch.net
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
Windows Presentation Frameworkについて語るスレ。
前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part20
http://echo.2ch.net/...cgi/tech/1458082648/
関連スレ
Windows 10 UWPアプリ開発
http://echo.2ch.net/...cgi/tech/1440150886/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/ - コメントを投稿する
-
Prism触ったけどなんか俺にはmoduleとかresionとかなんか取っつきにくいわ
まだlivetの方が扱いやすい
しかしlivetは更新きそうもねぇ… -
おー
わんだふる
こーでぃ
んぐ -
>>2
俺は一人でやっているからmoduleはほとんどつかわないな
resionは画面遷移させたりするからよく使うね
livetはオワコンってどっかで見たような気がする
MVVMパターンでコーディングしていくなら
prism一択だともう、UWP向けもあるし -
WPFは定着したのか?
-
煽るなよクズ
-
WPFとUWPはコントロールを統一してほしいわ
-
WPFにもx:bindくださいよ・・・
-
WPFは実験台だったんだよ!!
-
>>6
質問しただけなのに煽り扱いとか草 -
>>9
silverlight「せやな」 -
>>9
WinForms「そんなバカな!?」 -
XAML Standard 1.0かあ
> Post specification plans include support of XAML standard in Xamarin Forms and UWP
フフッ -
WPFにx:bindがくるの?
-
XAML StandardはUWP基準でやったほうが楽っぽいけど、どうなるんだろ?
-
DataGridViewとDataGridとGridView・・・名前だけでも収拾つかなくなってるな
-
VS2015upd3のデザイナー上で突然、下記のエラーが起きたんだけどなぜこうなったか分かりますか?
{
"Version": "W.3.2.2.0",
"Guid": "6fe59b26-7383-40d5-947c-7448769a5e81",
"Type": "System.Runtime.InteropServices.COMException",
"Time": "2017/05/13 11:39:38",
"Position": "PresentationCore--->Void SyncFlush()",
"Message": "HRESULT からの例外:0x88980406",
"StackTrace": " 場所 System.Windows.Media.Composition.DUCE.Channel.SyncFlush()\r\n
〜〜〜〜〜〜
System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)"
} -
自己解決です。
どうやら拡張機能である[BabeLua]をインストールしてたのが原因でした。 -
DataGridのRowDetailにDataGridをネストして、更にそのDataGridのRowDetailにDataGridをネストして...
という感じで多階層にデータを取り扱えないかチャレンジしているのですが、
この時、動的に生成された全てのDataGridの中から最後に選択された1つのアイテムを取得する方法ってありますでしょうか?
SelectedItemプロパティを全て同じVMのプロパティにBindしてみたのですが、思うように動いてくれず・・・。 -
せめてサンプルは出そうよ
-
高度に発達した天才はキチガイと区別がつかない
-
失念しておりました!下記の通りです。
※View.xaml
<DataTemplate x:Key="Expander">
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow},
Converter={StaticResource VisbilityToBoolean},Path=DetailsVisibility}">
</ToggleButton>
</DataTemplate>
<DataTemplate x:Key="ChildDataGrid">
<DataGrid ItemsSource="{Binding Children}"
SelectedItem="{Binding SelectedRowItem}"
RowDetailsTemplate="{DynamicResource Child}">
<DataGrid.Columns>
<DataGridTemplateColumn CellTemplate="{StaticResource Expander}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
<DataGrid ItemsSource="{Binding Items}"
SelectedItem="{Binding SelectedRowItem}"
RowDetailsTemplate="{DynamicResource ChildDataGrid}">
<DataGrid.Columns>
<DataGridTemplateColumn CellTemplate="{StaticResource Expander}" />
</DataGrid.Columns>
</DataGrid>
※VM.cs
public object SelectedRowItem{get;set;}
public ObservableCollection<Item> Items{get;set;}
※Model.cs
public class Item{
public int ItemId{get;set;}
public string ItemName{get;set;}
public List<Item> Children{get;set;}} -
DataGrid(A)のItem1を選択→展開されたDataGrid(A)のRowDetail内のDataGrid(B)のItem2を選択(ここまでは理想通りにSelectedItemが拾える)
→DataGrid(A)のItem1を再度選択(この時にSelectedItemがnullでセッターに飛んでくる)
といった感じで最終的に選択されたアイテムはItem1である、となって欲しいのですが、うまく行きません。。。 -
Xamarin.Forms Feature Roadmap ? Xamarin Forums
https://forums.xamar...rms-feature-roadmap/
Xamarin.Forms for WPF -
DataGridが大量データに弱すぎて使い物にならない。
せめてExcel並みのパフォーマンスくらい難なく出させてくれよって感じ。
いろいろ調べたけど、結局満足の行く情報も得られず。英語読めないし、日本語文献少なすぎ。
線と文字と縦横のスクロールバーを使って自前の描画をさせることも試したけど、
1ピクセルの細い線が満足に引けないって何なんだか。
見える範囲だけ線と文字を並べるのも速く無かったし。
で、WPFをメインに据えるのは諦めた。
WebBrowserでHTMLやJavaScript使う方がマシだなって思ったら、WPFのWebBrowserが
Windows FormsのWebBrowserより低機能とか、全くどうなってんだか。
WPF何とかならんのかね。。。。。。。。。。 -
なんかすぐにパフォーマンス的な制約にぶつかるよねWPFって
何で最初からせめてWindows Formは機能的に完全に置き換え可能なように気合いれて作らなかったのか -
できるわけないだろ、常識的に考えて・・・
最近はアセンブラ経験ない奴増えてパフォーマンスに対する認識が低すぎる・・・
どういう処理が重くてどういう処理が軽いが全く認識せずコード書いてる・・・ -
この2017年にもなってまだアセンブラ意識してコード書かなきゃならんのかよ
-
むしろアセンブラの知識がいらないという発想が全く理解できない。
たぶんキミはPGに向いてない。 -
必死すぎワロタ
-
アセンブラまで行かなくても、ライブラリー類を一切使わず処理を全部基本の文法だけで書いて
パフォーマンスを自分で考える位のことは、プログラミングの勉強の一環として必要かもね。
利便性とパフォーマンスのバランス感覚を身に付けると言うか。 -
DataGridはWinFormsでもうんこだから。
-
だよねー
いつ良かったんだろ? -
DataGridは入力系だから、最大でも数十行マトモに動けば問題ないと思うんだよな
数百数千行表示したければListBox使えばいいよ
Formsと違って、WpfやUwpはListBoxの表現力は高い -
WPF初期リリースにDataGridが含まれてなかったのは、
Templateいじれば同等の事できるはずだから不要ってことだったのかね? -
RenderTargetBitmap からメタファイルを生成するサンプルって
どこかにありますか? -
WPFスレでアセンブラどうこう言ってる化石は土に埋まってろよ
-
百歩ゆずってCPUの動作、また百歩ゆずって機械語を意識しろなら
わからんでもないけどアセンブラはないねw
しかも正式にはアセンブラじゃなくてアセンブリ言語だしw -
き〜か〜い〜の〜き〜も〜ち〜
-
おじいちゃんほんと申し訳ないんだけど一生懸命覚えたであろうアセンブラの知識や機械語の知識
現代では君が信じてるほど出番無いんだわ -
大昔は、乗除算や分岐が重い処理だから少なくするんだっけ
ちょっと昔は、コンテキストスイッチに気を付けるくらい?
今は何に気を付ければいいん?
マネージ・アンマネージの行き来? -
キャリーフラグの値が欲しいときがある。
-
まあ、頑張ってチマチマ最適化しようが、DataGridに数万行突っ込んだら全て終了です
-
仮想化しても駄目なの?
-
数万って実際どのくらいかな
-
そもそもDataGridに何万件もデータを入れようなんて設計が間違っているんじゃない?
それにWPFなら仮想化できるし、そこまで問題にならないような・・・ -
暑いけどまだ夏休みじゃないのにな
-
毎日が日曜日なんだろ
-
いまさらListViewがデフォ仮想化されててIsSelectedとBindしても同期されないって知ったのですが
仮想してる場合SelectionChangedから自力でやるしかないのですか? -
ItermsControlの仮想化は欠陥品もいいとこだから切ってるわ
あとはパフォーマンスに端から期待しない設計をすればいい -
>あとはパフォーマンスに端から期待しない設計をすればいい
パフォーマンスがWin Formsと同等、あとはコントロールなどWin Formsと同等のものが
早いタイミングで用意されてたら、WPFの現状も今とは多少違うものになっていたろうにな -
WPFも.NET Nativeにすれば良かったんだよ。
今からもすれ。 -
50に設計を依頼したくないな
-
>>59
WInFormsはListBoxやListViewがお粗末だから、見栄えの良い表にしようとするならDataGridViewを使わざるを得ないが
wpfなら大量データの表示はListViewやListBoxを使えばいい
DataGridは入力する場合だけに使えばいいから、言うほど大量のデータを扱う必要はない -
Excelが何万件ものデータを扱うとき全部オンメモリで
やってるとでも?
その程度の思考でプログラマーやってることにドン引きだわ。
しっかし、相変わらず文句ばかりのスレだね。
そのエネルギーをもっと有効活用すればいいのに。
別にWPF使えとか強要してるわけでもなし、こんな
過疎スレにわざわざからみに来るなんて余程暇なんだな。 -
適材適所が理解出来ないお爺ちゃん達には困ったもんだよ、ほんとに。
-
どうでもいいけどD-RWMって何を考えてこういうことになるんだろかね。
ROMがRead Only Memoryだから
RAMはRead Writeとかトンデモ理論なの?
Aはなんだと思ってたのかね。
Random Access Memoryなのに。 -
>>64
横だが、ROMも機能的にはランダムアクセスメモリーなわけで、ROMと区別するための識別子としてRAMは意味合い的にふさわしくないが
定着しちまったから略語として正しいRWMじゃなくてRAMと言っている
この理屈はアセンブリ言語を定着しているからアセンブラと呼ぶことと同じ理屈だってことじゃないかな
「アセンブリ言語だーと喚くならRWMと呼べ」という主張には一定の正当性があります -
なんか鳥頭なのかこの話の流れの突っ込みどころ、笑いどころが分かってないのが多いけど、
そもそもWPFのパフォーマンスの話の中で「アセンブラ」なんて頓珍漢な言葉が出てくるのはどうなのっていう
そこだからw
言葉遣いが不適切であるってのはついでの話 -
ループ以外のレスをしないでください
-
>>64
バカは書き込まなくていいぞ w -
XAMLのBindingで質問です。
とても単純なケースで説明すると、
XAML側でTextBoxを定義して、Textに
MainWindowに新設したstring testStringをBindするとします。
public partial class MainWindow : Window
{
public string testString { get; set; }
<TextBox x:Name="testTextBox" 〜省略〜 Text="{Binding testString}"/>
この状態において、
コンストラクタ内で
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
testString = "1st set";
}
このコードを実行すると起動時にテキストボックスに"1st set"が入っており想定通りです。
さらに、新規ボタンコントロールを追加して
ボタンが押された際に新しい文字列をテキストボックスに設定するようにするとテキストボックスが更新されません。
private void testButton_Click(object sender, RoutedEventArgs e)
{
testString = "push Button";
} -
>>69
INotifyPropertyChanged -
しかし、この状態で
private void testButton_Click(object sender, RoutedEventArgs e)
{
testString = "push Button";
// 以下を追加
Binding bind = new Binding("testString");
bind.Source = this;
this.testTextBox.SetBinding(TextBox.TextProperty, bind);
}
とするとテキストボックスは更新されました。
XAML側のBinding指定はコンストラクタなど各ウインドウ?が生成される時にしか有効ではないのでしょうか?
それ以後Bindされているオブジェクトが新しくなる場合は、再度バインドしなおさなくてはならないのでしょうか?
自分の理解では、
オブジェクトが更新された場合の内部挙動はBindingで所持しているプロパティパスを
DataContextからFindして該当プロパティの値を参照する、というようなイメージだったのですが、
どうもこの挙動をみていると、該当プロパティを見つけるところまでは同じですが、
見つけた後、プロパティの中に入っているオブジェクトそのものだけを記憶しているように感じます。
C++的な書き方をするなら
class MainWindow
{
string* testString;
}
// 想定していた挙動
string*& bind_property = MainWindow.testString;
// 実際の挙動
string* bind_property = MainWindow.testString;
みたいな感じですかね。新規オブジェクトのアドレスが代入されるけど、バインドは旧オブジェクトのアドレスをみているようなイメージ。 -
>>72
> GUIコントロールからプロパティへのフィードバックが必要な場合はINotifyPropertyChanged
> を使う必要があるのかなと思っていたのですが、
> プロパティ->GUIコントロールだったとしてもINotifyPropertyChangedが必要なんでしょうか?
これは逆だね
>>69 のコードでもテキストボックスのテキストを打ち変えたら testString の値も変わる
(デフォルトではテキストボックスからフォーカスが外れたとき)
INotifyPropertyChanged を実装するのは testString の値が変更されたことをテキストボックスに通知するため。
> testStringをMainWindowではなく
> INotifyPropertyChangedを継承した別クラスにおいて
インターフェイスなので MainWindow に実装してもいい。もちろん別クラスでもいい。 -
ありがとうございました。
INotifyPropertyChangedで解決できました。
最終的にはPrismいれてBindableを使うようにしました。
ちなみに皆さんは、どこでWPFの情報を収集して学習しましたか?
MSDNだけで十分?
自分は本などは買っておらずネットだけでなんとかしようと思っていたのですが、
WPFのバックエンドの動作などが細かく解説してあるようなページはみつけられなくて・・。
そういったイメージがつかめるととっつきやすいかなーとおもうのですが。 -
ReactivePropertyのほうが簡単でいいよ。
PrismとReactivePropertyの組み合わせが鉄板。 -
みなさん、ありがとうございます。
参考にさせて頂きます。 -
HogeViewModel は名前空間 "clr-namespace:ViewModels に存在しませんとかいうエラーに小一時間悩んだあげく
(実行はできるけどXAMLデザイナーがエラー出ていじれない)
結局ViewModelが参照してるDLLのインターフェースを実装したらそうなることが分かった・・・
意味分からん -
そんなクラス(ロードでき)ないぞ!
というエラーなわけだな -
デザイナーエラーで悩んだこと有ったが、俺の場合は古いBlendのdllがGACに入っていることが問題だったな
-
ねーねー
WPFってメモリリークしやすいっていうけど、リークしてるってのはどういう手法で見つけてるの?
例えば、VS2017の場合とか -
>>82
CLR Profiler -
Prismのインストール方法教えてください
-
Prismはソースコードを必要なとこだけコピペして切り貼りして使うもんだよ
ライブラリじゃなくてあくまでサンプル集 -
>>84
NuGet -
>>85
ワラタw -
実際Prismは本来はそういうものだけどな
最近はフレームワークを自称するようになったけど、元々の位置付けはあくまでサンプルコード -
いや今も昔もPrismって出来合いのままで広汎なアプリの要求に対応できるようには作られてないだろ
基本的にはアプリに応じてカスタマイズして使うもんだし、それが負担になるような小規模のアプリはそもそも想定外
カスタマイズが必要になるまではライブラリとして使うというのはアリだと思うけどね -
今も2017に対応させたLivetを使ってたりする…
-
他のスレッドでインスタンス化したTextBlockを
UIスレッドでは見れないのはなぜでしょう? -
あなたが仰られているそれが理由ですよ
他のスレッドでインスタンスを作ったから -
差分アップデートの実装ってどうやってるの
差分ファイルを作るライブラリとかないすか -
>>94
コントロールを作成したスレッドからしか操作できないんでしょう。
シングルスレッドアパートメントってやつ。
Win FormはそうだったけどWPFは知らない。
このスレって過疎ってるね。
WPFって需要ないんだな。 -
なんだオマエ
喧嘩売ってるのか? -
Windows7 を切り捨てたくないからなかなか UWP はね…
-
海外製の業務パッケージなんかだとWPF使ってるのもわりと見かけるけど、たいてい酷い品質なんだよね
別にWPFが悪いんじゃなくて、作る側が慣れてないのが使ってて伝わってくる
そもそもWPFって頭良くてWPFの仕組みも完全に理解してるアーキテクトがトップダウンで大枠から設計していくような開発スタイルに向いてて、
散らばった開発体制になりがちなドカタ開発には根本的に向いてないんだと思う -
ヘルプが充実しすぎてて語ることもない
-
Livet更新する気ないなら、そう言ってくれないかな?
実はもうLivet2のリポジトリもあります!キリッ(スッカラカーン
とかほんと勘弁。 -
んだねぇ・・・
-
>>99
言い値で買ってくれるのなら売るけど -
ほんとそれで済むならそれが一番お気楽だと思うw
-
WPF アプリケーションからショートカットキーで単語登録ツールを開くと、クリップボード上のテキストが単語登録ツールに送信される
https://blogs.msdn.m...eam_blog/2017/06/30/ -
>>107
済まないのけ? -
バグか
多言語環境は後回しにされるからと言っても今更な問題だなー
枯れてもいないのにクラッシック扱いとかないよな -
ちょ○どさんと人脈築かないのが悪いんでしょ。:-p
-
ちんぽ騎士団のことか?
-
>>103
あいつは信用できない人だから諦メロン。 -
>>113
メンテされてるとは思ってもいないよ
Livet無しでは生きていけない体にされてしまったから、
今から新しいご主人様のもとにいけないだけ。
もうLivetなんてさわりませぇ〜んwwwとか言ってくれたらすっぱり諦められるのにな、って話 -
PrismとReactivePropertyにすればいいのに。
化石か。 -
>>106
そういうのやったことあるw
MaterialDesignThemeのボタンとかが欲しかったんで
Win32ダイアログのStaticに貼り付けて、SendMessageでメッセージ送信、
WPF側はCOMにしてって。 -
livetはセットアップが使えるまでさわりそうだわ
-
>>119
prismにしたら、序にprism.Unityも検討すると幸せになれます -
DIならAutofacの方が遥かに使いやすい
-
>>121
wpf版のunityはごちゃごちゃしているけど、UWPはシンプルで使いやすいよ -
autofac使いたいけどドキュメントが英語しかないのよ
unityもだけど
TOEIC500点にはしんどい -
500あれば英語のドキュメントくらい十分読めるだろ
-
何も考えないでならMEFが楽だったけど、色々問題もあるので
今はNinjectを試しに使ってみてる。Autofacは使ったこと
無いから次使ってみよう。
Unityはなんかこー使ってて芋くさい感じで即捨てたナァ。
Livetは会社の先輩にあいつについて行ってもろくな結果に
ならないよ言われたので何言ってるのか理解できなかったけど
検討すらしなかったな。
なんかそっちの業界では有名な人みたいね。
個人的には現段階で要求満たしてて物作りに使えるなら
文句言うような話でもないと思うけどさ。
コードもあるんでしょ? -
個人的にはDIはAutofacが一番活発っぽいので、将来性を見るならいいと思う。
後、使い勝手に癖があるけど、パフォーマンスを求めるならSimpleInjectorが今のところ一番かな。 -
MicrosoftがUWPとXamarinのXAMLを標準化
https://www.infoq.co.../07/xaml-uwp-xamarin
XAMLを使用する重要な技術のひとつはWPFだ。
BUILD Friday Q&Aに参加した.NET開発者のMorten Nielsen氏が、
MicrosoftのWindows Developer Platform担当VPであるKevin Gallo氏に、
WPFに関する同社の計画について質問している。
Nielsen氏によると、この質問に対してGallo氏は、
“XAML Standard機能への対応を目的としてWPFを改訂する計画はない”、と答えたという。
“この回答は“WPFは死んだ”という宣告に等しい”、とNielsen氏は言う。
同じ開発者のBastian Schmidt氏はこの話題について、
“MicrosoftがWPFを標準から除外すると決定したのならば、WPFの終了に関して公式声明を発表するべきだ”、
という意見を述べている。
考えられる対策として、Shaun Tonstad氏は、WPFアプリをUWPに変換する方法を提案している。
そうすれば標準においてWPFをサポートする必要はない。
私たちはこれまで、WPFやSliverlightのアプリをUWPに書き換えてきました。
WPFのサポートは有り難いが、
UWPを通じたクロスプラットフォームXAML実現の妨げになるような取り組みは望ましいとは言えません。
WPFをどう考えるかは別として、今後はUWPが重要である以上、
クロスプラットフォームの相互運用における出発点にUWPがなるのは自然なことに思われます。 -
XAML StandardはUWPとXamarin.Formsのためのもので、UWPがベースとなる。
WPFは当然そうなる。 -
クロスプラットフォームか…
UWP はホント何とかしてWindows7以降位で動くようにしてほしいわ -
まあMSのプラットフォーム切り捨てはその時点ではショッキングで時期尚早のように感じられても
後で振り返ると何だかんだ言っても常に正しい決断をしてるからね
WPFはその歴史の中では長く延命させてもらえた方だったと思う -
いい加減需要無視の官僚主義でゴリ押ししても誰もついてこないって悟って欲しいよね。
UWPなんぞWPF以上に普及する訳がない。 -
VB6とwinformsが細々と生き残ってるのにWPFは終了ですか
-
VB6やWindowsFormsには触れてないけど、WPFと同じくレガシー扱いするんじゃないかな
-
WPF→UWP移行なんて簡単にできるやん。
セキュリティに引っかかるくらいで。
WinForms連中に移行は無理だろうけどw -
UWP移行せえって言うことはこれまでみたいなツール類ソフトは作るんじゃねえってことだな
c++のDLLのラッパーも作れないしpythonにすら劣る環境になるぞ
戦わずして負け -
UWPなんていらんし
-
UI だけ作らせてくれりゃいいよ
ちゃんと古いOSもサポートしてさ
ってことでもう全部 Xamarin でいいよ -
UWPやXamarinでは制約のせいでVS Codeすら作れないからな
electronに負けるってどういう環境だよ -
Xamarin なら UI (とロジック)以外はネイティヴで書いていいもんだと思ってたけど制約あるの?
-
チョマドも切り捨てたら信じる
-
VS2017のインストーラーがelectronで作られてて
MSなのになんでUWP使わないのみたいな記事があったけど
UWPは制約のせいで作れないからな -
あのインストーラはむしろなんでElectronなのかの方が謎ではあるが
Visual Studio Codeはクロスプラットフォームという前提があるからわかるけど
新規でインストーラ用ツールを書き起こそうと思ったら
まともなデスクトップ用GUIフレームワークが自社ありませんでした
みたいな理由をMS自身が抱えてたとしたら最高にウケる -
謎でも何でもないだろ
新規で作るものにWPF使うなって内規があるんだろ -
UWP で作ったら Windows 7 で動かないじゃん
-
それ以前にUWPなんか誰も使いとうないw
見づらい糞フラットデザインにぱっと見アクティブウィンドウがどれかも分からん糞仕様とか
ふざけてるのでなければMS自身に普及させる気がないとしか思えん -
MSはそもそもWPFアプリを全然作らなかった。
UWPアプリは作りまくり。
そういうことだ。 -
XPに馴染めずに、何年もWindows2000使っていたマニアって少なからず居たよね・・・
-
UWPは業務向けアプリを作るのにちょっと都合が悪いんだよなぁ・・・
今更WinFormsに戻れってか -
迷走してるよなー
Javaも AWT、Swing、SWT(非標準)、JavaFXとか変遷続いてるけど、
万人に向いている GUIフレームワークって存在しないよな
MSがWPFを見捨てる理由って、
一般プログラマに敷居が高くて流行ってないという理由以外になんかあるのだろうか?
UWPだってXAML使ってるから敷居の高さは変わらない気がするけど(未使用者並みの感想) -
この程度で敷居高いとかいってる人は開発向いてないよ。
WPFが使われてないって日本固有の話だと思ってたが?
海外じゃミドルも含めて製品いっぱいあるしStack overflowの
記事もかなり多い訳だし。
そもそもVBとかで飯食ってた緩い層がiOSとかAndroidとかに
いっちゃって、さらにiOSやWeb系の開発のためにマックの
ユーザーが増えて結果としてWindows のデスクトップアプリ
作りを生業とする人が激減したという話でしょ。
実際一般ユーザーがやることなんてマックだろうと
Linuxだろうと何でもいい程度の世界にはなってるわけだし。
俺もWPFで作ったパッケージ製品抱えてるし、この流れは
どうしたものか悩ましいな・・・。買い入れてるクソみたいな
コンポーネントがUWP対応してくれないと話にならないけど
正にWinFormsにしがみついてる層が作ってるからなぁ。 -
>>148が言ってることが全てを物語ってると思うが、ストアで儲けたいけどタッチ対応出来てWin7でも動く、業務アプリ作るのに制限が無いWPFがUWPにとって邪魔ものなんだろ。
-
ストアで配布さるんじゃないなら、側(UI)だけUWPにして本体は Python ででも書けば良いのかもよ。
-
UWPがもっと使い勝手よければ移行してもいいんだけど
今のクソ仕様じゃなあ -
2018年 UWPへの旅 #002
https://blogs.msdn.m...6/11/27/2018uwp-002/
WPFを入れてデスクトップアプリ的なところも入れたいんだけど、
最悪これはなくてもよいかと。
要は今のUWPでデスクトップアプリ的なところがちゃんとカバーされればいいんだよね。
いろいろ言われているけど、電卓もペイントも徐々にUWPに移行されつつあり、
コンテキストメニュー的な連携もできれば
別にデスクトップアプリなのかUWPなのかはユーザーにとってはどうでもいい話だったりします。
ということで、デスクトップアプリの取り込みは
今の Bridge というか Desktop App Converter になるのかもしれないですね。 -
まともに使えるようになったら発表してくれ
-
自在にファイルにアクセスできればUWPでもいいんだけど、、、
-
まあWebでいいわな
全く価値のない技術 -
UWPはプロセス間通信できないのも糞
-
WPF、UWPどちらを使うか迷っているので質問です。
WPFで作ったアプリをDesktop Bridge?App Converter?を使って
Windows Storeで配信できるようになったらしいけど
WPFから変換したそのストアアプリでもUWPで作ったアプリと同様に
「広告収入狙いの無料アプリ」にしたり、「有料アプリ」にすることはできるのですか? -
ギョーミーなアプリとUWPは激しく相性が悪いんだが
-
>>160 >>162
ありがとう
有料アプリならWPFからの変換したものでもUWPと同様に使えるのか
>>162
厳しいというのは利用者の面から?
Windows Phoneだけなら利用者少なすぎだけど
PCでも使えるようにした変換UWPアプリなら
利用者はかなりいるから期待できるんでは、と思っている
Xamarinはmono時代のASP.netで昔少し触ったけどバグだらけで
ひどい品質だったから、名前だけで敬遠してしまう。
Xamarinは各プラットフォームの挙動の違いを理解してないと
バグではまりそうで実はかなり敷居が高い気がする。
上級者じゃないからバグでたときに情報が少ないXamarinはつらい -
UWPで実現可能かつ対象ユーザーがwin10のみでOK
なら普通にUWPで良いっしょ
まずはAPIを一通り確認してから -
>>164
有料アプリとか広告付き無料アプリみたいな不特定多数向けだと
Win10限定になるUWPは選びにくいと感じる。
Win10はまだ26.8%しか利用者がいないようだ
https://www.netmarke...d=10&qpcustomd=0
WPFならXPでも使えるはずだから90%近いPCをカバーできるし
単純にユーザー数が3.3倍
ユーザー数というデメリットをひっくり返せるメリットをいまUWPに探しているが
まだ見つからないでいる -
作り手から見れば
・ネイティブでとにかく高速、そして難読化と無縁
・署名付きアプリの配布が格安(一度19ドル払えば何本ソフト登録してもこれだけ、法人は99ドル)
・広告や販売の面倒をMSが見てくれて楽ちん
利用者は
・勝手に変なソフトインストールはありえない
・ウイルス混入のリスクは可也低い
・レジストリ弄らないから、アンインストールのトラブルは皆無
Windows10でしか動かない、セキュリティーが厳しい、システムの完成度はWPFに劣る、プロセス間通信不可
ココらへんのデメリットが20年までにどれだけ解消されるか注目だね -
むしろUWPやめてWPFに統合しろよと思う
-
WPFの遅さからするとUWPの速さは魅力。
-
Formsが高DPIに対応した以上WPFはもう要らない子
-
Formsの高DPI対応はまだ初期段階らしいけど
-
Windows10でVS2017を使ってWPFを勉強し始めたんだけど、WPFって何かを設定しないとHighDPI認識してくれないの?
検索してdpiAwareをマニフェストに追加してみたりしたけど文字がボケボケになる
どこを設定すれば良いのか教えて欲しい -
>>173
ちゃんと.NET4.7使ってる? -
>>173
Windows 10 Anniversary Update以降では、dpiAwarenessで指定するそうだ。
Creaters Updateからは、このdpiAwarenessにPerMonitorV2って設定が増えてる。
High-DPI Scaling Improvements for Desktop Applications in the Windows 10 Creators Update
https://blogs.window...-10-creators-update/
例:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.micro.../PM</dpiAware>
<dpiAwareness xmlns="http://schemas.micro...ot;>PerMonitorV2, PerMonitor</dpiAwareness>
</windowsSettings>
</application> -
今更だけど、>>127の記事のWPFは事実上死んだって見解は実際正しいの?
-
WPFだけじゃなく、UWP以外まとめて死亡って感じだと思うけどな。
x:BindはWPFにバックポート出来そうだけど、UWP推進するために敢えてやらないのだろうし。 -
>>173
Windows10で文字がボケボケになるのを直すだけなら、dpiAwarenessをSystemに -
>>180
VSでapplication.manifestを新規で追加した時に、dpiAwareの方は
コメントでサンプルが記述されてるけど、dpiAwarenessは記述されてないしね。
VS2017位は追加しておいて欲しいね。 -
xamarinはwindows10アプリケーションのみ開発するのには向きますか?
-
そろそろ普及の兆しが見えてきたな。
-
などと妄想を垂れている一方で、MSはElectronを使ってプログラミングエディタ界で天下を取ったわけだが
-
エディターだからどうにかなっているけどElectronでExcelは作れんだろ
遅すぎて -
適材適所だね〜
-
ExcelOnlineの機能を拡張すれば済む話だとは思うけど
そもそもデスクトップアプリ化する理由が無い -
だーからそういう戯言は20年前も聞いたよw
いまだに実現してないけどねww -
そうは言っても、テキストエディタという開発者にとって最も身近なデスクトップアプリがHTMLになったのは紛れもない事実だからね
しかもその変革がこれまでデスクトップアプリの世界を牽引してきた当のMSによって為されたということも事実
いい加減現実を直視しなければならない
VS2017も一部Electronになってるし、順当に行けば次の本家VSはテキストエディタがVSCodeベースに置き換わるだろうね -
xaml挫折した人がElectron使えるとも思えんわ
-
SkypeのためにReactXPとか立ち上げたりどこに進むのかよーわからんしWPFが死に行くのはどうでもいいけど
さっさとWin32デスクトップアプリを書くためのまともなGUIフレームワークをOSの一部として提供しろや本当にお願いします -
なぁにぃ〜やっちまったなー
男は黙ってMFC -
.NET Standard 2.0とXAML Standard 2.0です。
-
神に祈る
-
知らねえよカス
-
>>202
全ての神々の祟りがオマエにありますように。ナムナム -
まーたチンポ騎士団員が増えてしまったのか
-
あのスライド1枚で優位に立ってたと勘違いしてたプライド激高の囲いエンジニア達が一斉に掌返し始めたの草しか生えなかったな
-
すっかり迷走してますな
まさかWIn32APIとDirect3DとDirect2Dを組み合わせて
ボタンやらツールバーやらメニューバーやらスクロールバーやら独自で作って
我ながらアホなことやってるなと思ってた俺の方が勝利するとは -
よくよく考えれば、最近弱くなってきたMSのMSによるMSのためのMSの市場戦略に
昔からのユーザーである俺らが、なんで振り回されなきゃならないんだろうかと
スマホもMSがシェア取ってれば、MSもどっしり腰を据えて世の中や俺らのためになる
そういう方向にかじ取りできたのかもしれないが
なんかもう、Win8以降は、とにかく戦略戦略戦略、市場戦略先行でマトモじゃない
良いもの作ろうという精神が無い
こういう事態に追い込まれたら、もう負けなんだよな
だからそうならないようにゲイツは汚い手を使ってでもライバル企業をつぶしてきたんだよ
自社製品を素晴らしいものにするために、横綱相撲するために -
> まさかWIn32APIとDirect3DとDirect2Dを組み合わせて
> ボタンやらツールバーやらメニューバーやらスクロールバーやら独自で作って
泥のGUIもアーキテクチャは似たようなもんだし別にそこはええんでないの
圧倒的に最適化が足りなかったとは思うけど
あと既存のHWNDとの相互運用がへぼかったのもあるか -
スマートフォンの台頭で、調子に乗ったAppleがRIAプラグインを排斥し始めて
その煽りでSilverlightが死んだ時、俺のMS信仰も死んだ -
いやスマホ諦めた時点だな。
それまでは開発者大事にしようとする気持ちはあった。 -
全く諦めてないでしょ
単に主軸がWebに移って未だにWPFに固執してるような極一部の老害だけが蔑ろにされてるだけだよ -
自分達がMSに必要とされなくなったのをさも開発者全体のことのように言うのはみっともないからやめなさい
-
つーか、ネトウヨにしろネットde真実くんにしろ、アホと間抜けな自己陶酔ってほんとセットだなw
俺スゲー俺以外老害ってかw -
Azureバカ売れの時代に何を言ってるんだ
いいかげん危機感持った方がいいぞ -
現に>>217のような人を生み出してしまったわけだから、Webへの移行にあたって
既存のデスクトップアプリ開発者向けの緩やかな移行パスを用意できなかったのは確かにMSの失策かもね
その意味で期待されていたSilverlightもダメだったし、ASP.NETもForms切り捨ててWebのメインストリームに迎合する方向だし -
Webとモバイル、どっちも諦めたからな。
開発者離れは深刻。 -
開発者離れといってもWebへ行けないなら結局MSにすがりつく以外の選択肢はないじゃん
哀れ -
しがみ付くならしがみ付くで構わないんだけど
MSの実らない市場戦略に
振り回されることになりそうだから嫌だよね
って話だったのでは? -
自己陶酔くんに現実が見えない理由は、ネトウヨ的な間抜けな自己陶酔以外に
絶対量と変化率の区別がついておらず、後者を前者と錯覚してるって要素もあるんだろうね。
例えばSaaS化した方がメリットがある分野が存在するんだからそういう流れが存在するのは当然だが、
だからといって世の中のソフトウェアの需要の全部がそうであるわけじゃない、
っていうか、そんなものは現実には全体のごく一部でしかない。
主軸が移った?
んなわけねえじゃんw
余談だけど、「俺スゲー」って自分に酔いたい願望っていうのは、
普通は逆説的に抑圧された自己不安や劣等感の表れだよw
それは2chにいっぱいいるネトウヨやネットde真実くんを観察すれば明らかだよね。
観察者も同類ならどうだか分からないがw -
こういうのってやっぱ自己紹介乙ってやつなのかね
皆興味なくてスルーしてるようだけど -
習得や移行に苦労するのに、それが普及しなかったときの精神的ダメージは計り知れないね。
こんなもの普及しないと笑ってた奴らを新しいものについていけない老害だと罵倒していた自分が恥ずかしい、みたいな。 -
まぁでもWinFormsにしがみついてるよりいいんじゃない?流行らなくても使えない技術ではないし
-
毎日使う定型業務のアプリが全部Web化されると使う方は辛いぞ。
JavaScriptでフロントエンドを頑張っても所詮はブラウザの縛りからは抜けられん。 -
座間弥老
-
WPFもSLもUWPも同じ軸の技術の流れだし、考え方としてはElectronというかHTML5やらJavaScriptやらとは根底は同じ方向性だと思うけどな。ミクロな見方する人からするとチゲーよってなるんだろうけど。
そういう意味では、ここでよく喧嘩してるWinFormsに固執する人はどれにも乗っかれなそうな感じはするな。 -
>>230
ウヨサヨやってる馬鹿な連中じゃあるまいし、WPFの問題点を指摘したからって
Windows Formマンセーなわけじゃないよww
まあプログラマの世界にもそういう党派的な物の見方しかできない馬鹿多いけどね昔から -
XML系技術は糞と言いたいんだろ。
-
ゲイツが続投してたら上手く行ってたかは分からないけどな。
-
そろそろZAPして次のUIフレームワークが上手くやることに期待した方がよいのではないか
-
1スレ埋めるのに2年掛かってるUWPは良さを語る前にやることがあるでしょう
お前はお呼びではない
さっさと普及活動しろ -
つか太古の昔、IE作ってActive Desktopとかやってた時代からWeb系をUIの主軸にしようとしてたの忘れたのかね。タブレットと同じで何度も挑んで玉砕してるけどな。それでも諦めないのはMSのいいところだと思うけど。
-
そういえば ActiveDesktop も失敗だったな。
IE4.0でCOM化して、ペタペタ張れるようになったのは大成功で、
2chブラウザとかは便利に作れたな。 -
あまり1つを育てる気がないよね
下火になると放置フェーズに入るし -
どうせUWPもストアアプリ(モダンUIだっけ?wもう忘れた)と同じようにすぐに捨てられる
普通はそう考えるよね。実際デキ悪いし
だからPetzoldも今度は本書かないんだろう。ふざけんなって思いもあるだろうがw -
分ったことはタッチUIとマウスUIは一つにはできない。
-
できてるやん。
-
どうみても失敗やん
-
UWPはマウスに合わないんじゃなくてキーボードサポートが絶望的にうんこなのがダメ
-
UWP自体はそんなに悪いと思わないけど
初期の、どんなに大画面のモニターだろうと全画面にしか表示する仕様だけは、擁護できない
MS社内って全員WindowsPhoneだけで仕事してるのかと思ったよ -
そもそも初期の頃タブストップないって聞いて驚いた
それまでのMSのアプリはよほどおかしなことしてない限り必ず
キーボードだけでも操作可能だったのにね -
違うタブオーダーだね(´・ω・`)
-
.NET Framework 4.7上で実行している WPF アプリケーションで、タッチ操作を繰り返すと、タッチ操作に反応しなくなる。
https://blogs.msdn.m...3/wpfnetframework47/ -
何度もパイタッチしていると不感症になるのか
-
.Net 4.7でWPFのタッチパネル対応が強化された時にバグも仕込まれたのか。
-
ユーザーから拒否られるUIって根本的に腐ってるということ。
-
もうメトロUIも止めるみたいだけど、使いにくかったしね
ほんのちょっとグラデーションかけるだけでも随分見やすくなるんだけど
単色は見にくい -
このスレはUIを使いこなせないユーザーを叩く傾向があるね。
-
>>252
え゛ -
Windows7でWindows10ライクなモダンウィンドウを手軽に作りたくてWPFに手を出そうと思うんだが、
他にいい選択肢があれば教えろください。 -
>>256
VS CodeレベルのものがElectronでお手軽に作れると思ってるとはかなりお目出度いな。 -
尾頭付きで祝って貰えそうだな
-
Win8の時代はWPFでモダン(笑)UIっぽいGUIを作るライブラリみたいのが
いくつかあったね
これとか
https://marketplace....ernUIforWPFTemplates
たぶんUWP時代のもあるんだろうけど、Windowsのタッチアプリには
興味失ったんで調べてないや -
モダンという言葉は昭和どころか大正の香りがする
-
中に粘っこいあんこの入ってるやつだな
-
ジジイだとしたら「昭和どころか」って言い方が不自然だな。
一周回って再発見した若者なんじゃないの? -
若者に昭和と大正の違いがわかるとは思えん
爺の俺でも大正と明治の感覚的な違いはわからんし -
大正はサクラ大戦で
昭和はひぐらしのイメージ -
何を言ってるのか意味分からんけど、モダンって言葉から
大正を連想するかどうかは年代の問題というより無学かどうかの
違いだろうねやっぱり。
暗黒の昭和戦前との対比でモダンであった大正時代、って言う風に
語られることが多いから。
そもそも、今肌感覚で大正時代を知ってる日本人なんて
もうほとんど生きてないんだから、知識として知ってるかどうかって問題でしょう -
アレは恐らくモダンアートのモダンだから、年代とか関係ないんじゃね?
-
バブルの頃に大正時代のモボ・モガが復刻で流行ったことが有ったから
モダンが古く感じるんだろうが、そもそもバブルも大正もマイクロソフトのアメリカには関係ないからw -
>>271
なんか得意げにバカなこと言ってるけど、そんなこと(無学の彼はどうだか知らんが)
みんな百も承知だと思うよw
ついでに言えば、モダンアートなんて関係ないw
modernはmodernだからwww -
いきなり大正デモクラシーとか言い出す自称学のある奴に言ってやれよw
-
え〜っと、WindowsのモダンUIから大正デモクラシーを想起しろと
そろそろ自分でも無理あるなとか思わない?
頑固爺には無理かな w -
だめだなこりゃ
馬鹿は死ななきゃ治らない、か -
調べてわかったのは、Modern UI等のフラットデザインの源流が20世紀初頭≒大正時代のモダニズム運動ってことで
大正のモダンとModern UIは無関係ってわけでもないようだ -
>>276
死ね -
ブーメランってこう言うことなんだろうな...
-
WPFがか?
次UIフレームワーク用意してくれるなら賛同してもええぞ -
フラットデザインの肝である装飾を配したデザインってのを始めたのが20世紀始めのアドルフ・ロースという建築家で
彼は「装飾と犯罪」というエッセイを残しているhttp://www.geocities...ntVerbrechen_jp.html
そこから始まる芸術運動がモダニズムと言うんだから、ModernUIが、その名前が古臭いとか勘違いも甚だしいってことだね -
フラットデザインの側だけマネして肝を理解できなかったのがMSのデザイナー
まで読んだ -
VS2017はWPFを捨てたのかな? クスン
MarApps.Metroを使ったアプリがVS2017ではイベントにブレークかけると、アプリケーションエラーで死んでしまう。
VS2015でデバッグするしかない。 -
だから、20世紀のモダンは2010年代にはモダンじゃないってw
それ、例えばプログレッシブスキャンはプログレ(プログレッシブロック)から来てる
っていうのと同じぐらい滑稽なトンデモだと思うよww -
歴史を知らないのは単純に学歴の差だろう。
-
モダン=近代的、現代的、新しい という意味なのでいつ使っても
超今風ってことだから 今風は常に最新
当時は最新で今風 -
スレチなのにいつまでも歴史ガーとか爺は頑固で困る
-
今後何故か白黒が流行ってエラーやワーニング以外
字も写真も白黒という奇妙な事態になっても
それがモダンと言えばモダン -
仲良くモダン焼きでも食ってこいよお前ら
-
偉そうに歴史を語ってこれがモダンだって言うのは痛々しい
モダニズムはただのなうニズム
大正モダンは大正なう
モダンUIはなうUI
もっとももうなうなんて使わないけど -
モダンとかいう名前つけちゃうのは恥ずかしい
10年経っても100年経ってもモダンなUIなわけないし -
フラットデザインなんて昔からあったが、
UIに使うとここまで拒否られるデザインも珍しい。 -
残念だったのは、パクリ元の地下鉄の看板が
元来見るだけの物で、操作する物では無かったって所だな
結果、何処が操作できて何処が操作できないのか
パッと見てよくわからなくなって不評、といったところ -
というより、地下鉄の案内版にしろピクトグラムにしろ、
看板という表現力が乏しいメディアで何かを伝えるための工夫だから
それは当然割り切って何かを捨てるトレードオフを伴うものだってことを忘れて、
GUIに適用しちゃったことが間違いの素だったね。
率直にいって、表示面積を無駄遣いして表現力のなさを補うための表現方法を
TrueColorが使えるけど一般的に狭くて表示面積が希少である液晶画面に適用するとか
狂ってるとしか思えんけど、MSみたいなインテリが集まってる企業で何でこんな
馬鹿げたことが通っちゃうのか、理解に苦しむ。
つーか、いい加減狂ったフラットデザインブーム終われよ。
見づらいんだよほんと -
UIのセンスが無いのは昔から分かってたのに期待する方が悪い
-
そんなに気に入らないならWindowsもWPFもさっさと捨てればいいのに
まあそれができるだけの能力がないからこんなところで喚いてるんだろうけど
質問者もこうなりたくなければMS技術なんかに手を出さないほうがいいよ -
フラットデザインの話がなぜ能力の話になってるのか。何かのマウンティングだろうか。
ゆとりの間では能力者が流行ってるらしい。無能に対する劣等感でもあるのだろうか。 -
嫌なら出ていけ系は本当にうんざりする
-
フラットデザインのお姉さんは結構好きかもw
-
MFCが糞でもなんだかんだ使われたのは、手本のExcelのUIが素晴らしかったおかげだろう。
逆にWPFが普及に失敗したのは、ExcelがリボンUIを採用したせいで悪い手本になってしまったからだろう。
あるいはWindows8のUIのせいか。 -
タブレットUIとデスクトップUIを共通化したのがあかん
-
WPFの登場って、Win8よりずっと前からでしょ
WinForms慣れした人が、あれこれ難癖付けて別技術への移行を渋ったのと
MS側も、「PGとデザイナーの分業」とかいう夢物語を大々的に喧伝したのとのダブルパンチで普及させられなかった
加えて、Silverlightが殺されたのも大きい
WPF&Silverlight自体は良い技術だよ -
ああそれと、長らく「MVVMの決定版」と言える様なフレームワークが出なかったのも原因の一つか
そんなのは最初に用意しておくべきだった
結果として、「MVVMの論理として破綻しない、正しいMVVMはこうである」みたいな宗教っぽくなっちゃったからな -
デザイナー主導で作ったUIがWindows8やメトロUI、リボンUIなのだから目も当てられない。
デザイナーはどうしてこうもメニューを削除したがるのか。 -
文字が並んでると美しくないと感じるんだろう
造形美なんざどうでもいいから機能美を追求してくれとつくづく思う -
その辺はデスクトップを足がかかりにスマホにも乗り込もうと意気込んでいたからね
結局撃沈して無意味になって、単に割食らったデスクトップのUIが
キメラになったって負の遺産だけが残ったが
俺的にはスマホもMSが天下を取ってほしかったが、相手が悪すぎたね
Google以外の企業が相手だったらMSは勝てただろうに
あんな早い段階で提供して、CMもバンバン打たれたらね
恐るべしフットワーク -
またリボンまで否定するお馬鹿さんが懲りずに暴れてるのかw
そんな駄文書いてる時間があれば自分で実際に使ってみれば
あれはそれなりに合理的なUIだって分かるのに馬鹿だよね本当
ストアアプリやUWPは「打倒××」からスタートしてるから機能性が
ないがしろにされている部分があるが、リボンUIはそうじゃないのに。 -
リボンUIがそれなりに合理的なのはわかるよ
それ以前のツールバーUIよりは合理的でないだけで -
>リボン
Excelを始めとしたOfficeアプリには向かないと思った
リボン自体を大量のタブで切り替えるのはやめた方が良い
全部が一画面内に収まる(or普通は使わない部分だけ別タブに切り分ける)なら、悪くないUIだよ -
VSは多機能だけど
-
多機能になってもF5押すだけ
-
リボンは各要素が無駄に場所を取るからページ切り替えが必要になる
無駄に場所取る原因は文字による表現を入れるから
文字表現を入れなきゃならないのはメニューバーを無くしたから
というわけで、メニューバーを導入して場所を取る文字表現はそちらへ移動させる
そうするとツールバーで良くなるので、ページ切り替えはなくせる
問題解決
そもそもリボンUIはリッチなパーツを載せるには高さが足りてない
http://blogs.adobe.c.../Ps_CC_workspace.png
このようなリッチなUIはリボンに載せれない
なんで結局、ボタン+文字、という構成になりがち
文字が無駄に場所を取るからページ切り替えが発生する
しかし文字を無くすわけには行かない、何故ならメニューバーを無くしたから
ここでしか機能を文字で表現する場が無い
だがあまりに長い文章だと場所を取りすぎるので、片言の文字表現になる
アプリに慣れてないユーザーからしたら、もっとしっかりした文章で説明してほしいし
慣れているユーザーからしたら、片言の文字表現など場所を取るだけで無駄
実際ページ切り替えが発生するわけで -
頻度による分類もある
多くのアプリがそうであるように、ツールバーは良く使う機能だけを厳選して載せる
一方メニューバーは使う頻度によらず網羅的に階層で機能を載せる
なんでツールバーを省スペースに出来る(からページ切り替えが無い)
使う側からしても、良く使う機能はページ切り替えなしに
ツールバーからアクセスできて便利だし、余り使わないうろ覚えな機能は
メニューバーの十分な長さの文字表現で説明してくれたほうが有り難い
ところがリボンUIは網羅的なメニューバーが無いので
リボンUIに全ての機能を載せきらなくてはならない
頻度の低い機能でも、網羅的に載せないと、アクセスする手段が無い
となれば先の片言の文字表現云々と合わせて、場所を取ることは避けられない
その結果、ページ切り替えなわけ -
実世界でも、あるいはプログラミングでも、おおよそすべての事で、二つの要求があって
それは、空間的な考え方と、時間的な考え方
当然UIも例にもれず
まず空間に着目して、機能ごとに分類して纏めたいという要求がある
じゃないと、何がどこにあるか分からなくなるから
それとは別に実際の作業手順に伴った時間軸的な考え方もある
その点リボンUIはツールバーに劣る
何故ならページ切り替えがあるから
ツールバーのように頻度の高い機能を厳選して小さなボタンを沢山並べたほうが良い
機能による分類も、ツールバーは複数同時に表示できるので問題ない
しかしながらよくよく考えてみるとリボンUIは
「ツールバー+片言の文字表現+ページ切り替え」
であって、メニューバーがあれば 片言の文字表現 も ページ切り替え も無くせるので
メニューバー+ツールバーでいいじゃん、となる -
まあ、メニューバー+ツールバーの見た目がダサイってのは解るんだけどね
見た目を大事にした結果、使い勝手が悪くなってちゃ意味が無い
mspaintのリボンUIは割と好きよ -
UWPじゃ公式extensionでMenuサポートされたし、ToolBarだって横スクロールするようなものもCarouselコントロールで簡単に実装できる
https://www.microsof...p/9nblggh4tlcq?rtc=1
DataGridもサードパーティー製のものが Apache Licenseで公開された→https://github.com/telerik/ui-for-uwp
Windows10オンリー以外の問題は粗方解決したようだな -
>>318-321
前も書いたけど、実際に使いもせずに頭の中だけで考えているとこうなる。
だーから、ウダウダ言ってないで一日ワードでもエクセルでも実際使ってみろと(笑)
まあ、これも以前書いたけど、頭の中で考えるだけでも、従来のツールバー+メニューの問題点を
理解していれば、どうしれリボンUIなのかはある程度わかるはずなんだけどね -
Excelなんざ嫌というほど使っとるわ('A`)
-
まあ、XPのルナ以降のスタートメニューの使いづらさとか、メトロやUWPの惨状を見てれば
MSにUIのセンスがないのは事実だと思うけど、物事是々非々で見られなくなったら
2chでウヨサヨやってる頭の悪い連中と同レベルだ。
さすがにオフィスはMSのドル箱だけあって、リボンUIはそれなりにドッグフード食って作ってるのが分かる。
2007の時はちょっとチューニング不足だったけどね。
それでも2003のツールバーよりだいぶマシだ。 -
もっとドッグフード食いたければVSもリボンUIにすれば?
猛烈な大反対にあったらしいけど -
10年前のリボンUIを未だに騒いでいる人って・・・
-
エクスプローラのリボンUIとか全く機能してないしな
誰も使ってないと思うけど(ショートカット覚えてるから)
無理に使おうと思っても
コピー、貼り付け、削除、などのメインコマンドが並んでるページと
表示切替が別ページになってるとか、もう機能してないね
多分MSのリボンUIのガイドラインで決めてあるんだろうけど
メインのページと表示のページが別って時点でね
表示切替はどのようなアプリでも頻繁に使うものなのに
仕方が無いからステータスバーに表示切替を載せてるのな
MS公認で機能してないって事なんだよ
しかも今まで網羅的な機能へのアクセスを提供していたメニューバーが無いから
どうでもよい機能までリボンUIに載せてて、煩雑なことこの上ない
必要そうなのだけに纏めたら十分1ページに収まるでしょ
それが無駄に3ページもね、メニューバーが無いからそうなる
エクスプローラのような比較的シンプルなアプリですらこのありさま
一方でメニューバー+ツールバー方式は、よほどのアホが作ってもキレイにまとまる
方式的に優れているから、自然とそうなる -
リボンUIが良いといってる人もページ切り替えは面倒に違いないんだよ
ページ切り替えが発生する原因は、文字表現で面積を食ってるのと
マイナーな機能まで網羅的に載せてるのと、の2つあるんだが
その両方ともメニューバーを無くしたことに起因してるんだよ
だからメニューバーを追加して取捨選択してページ数を減らす最適化していくと
ツールバーに戻る
逆にメニューバー+ツールバーの組み合わせは、余ほどの馬鹿でもない限り
何も考えなくても、普通の使いやすいUIに纏まるんだよ
方式的に優れているから、適当にやっても上手くいく
一方でリボンUIは方式的に破綻しているから、使いやすくするためには
ものすご〜く考えないとダメだし、方式的な欠陥は根本の問題なので
考えてもダメなものはダメ、どうやっても結局ページ切り替え
そのページ切り替えもメニューバーを模範したページ構成なので
機能による分類であって頻度による分類じゃないから
「表示」が別ページになるなど、実際の作業フローに即してない格好になる
だから結局どうやっても無理で、当のMSもステータスバーに表示切替を載せてる
こういったことがありとあらゆる場面で発生する -
プログラマ的な観点から見て、ど〜なんよ、と
方式的に優れているから基本的な平均点が高く、適当にやっても上手くいきがちな方式と
方式的に破綻しているから使いこなしに非常に苦労して
しかもせっかく頑張っても結果並み以下にしかならない方式と
どっちが魅力的かって -
言いたい事は解るけど
2chで長文連投は、言ってる事がどんなに正しくても同意を得られなくなるから辞めとけ -
分からないってw
ただの食わず嫌いw
Office、とくにワードにはリボンUIは従来のUIより適していることは
1時間使えば馬鹿でも分かる。
もちろんある程度実用的なドキュメントを書く場合ね。
図表も装飾も何もない文章ならリボンなんかいらない -
リボンはノーコメ
「設定」に代表されるなんちゃってフラットデザイン採用した奴は
死んで生き返ってもう一回死ね -
WPFでリボンUIを実装出来るとは言え、リボンUIそのものの良し悪しだとかUI論とかはスレチだろ。
まったく脱線するなとは言わないけど、いい加減しつこいぞ。 -
Officeユーザの大量の移行拒否もすごかったが、VS開発者でさえ拒否してる。根本的に欠陥品なんだよ。
合理性を理解できない奴が馬鹿とか、Windows市場でジョブス論理は通用しないよ。
シンプルに拒否られるだけ。信者じゃないんだから。 -
個人的にはリボンってあまり好きではないってくらいの存在なんだけど、従来メニューとの
多少の善し悪しを論じてもあまり意味がないと思ってて、従来メニューを過去のものにするくらい
広く支持されてるかどうかってところが大事だと思うんだよな
正直MS以外があまり積極的に取り入れてる感じはしないし、あまり支持されてないなら、
いたずらにUIの種類増やして混乱させただけの存在だと思うわ
道具の世界では従来のものが必ずしも最善ではなくても、「継続」する事が時には大事だよ -
現に全然広まってない事実を無視するの?
未だにメニューバー+ツールバーが大多数
広まるには随分な時間が有ったはずだろ?
いつもはWindowsのルックアンドフィールをマネするのが大好きな
Linux界隈もガン無視
フリーソフト界隈も少なくとも俺のPCにはリボンUIなフリーソフトは一つも入ってない
まぁWeb中を探せば一つや二つは出てくるかもだが圧倒的少数派
まずこの現実を受け止めてくださいな -
Officeには合理的でVSには合理的でないとか言ってることがオカルトにしか聞こえないよ。
VS陣営はOfficeの失敗を鼻で笑ってるよ。多機能なアプリからメニューを削除するなんて馬鹿げてるって。 -
ネトウヨはよくネトウヨなんて存在しないって言ってる。同じ匂いがする。
-
>だからオフィスユーザーには支持されてるってw
Officeが支持されてるのであって、リボンが支持されてる訳ではないのでは?
オレもリボンのOffice使ってるけど、従来のショートカットを指が覚えてるからさほど
不自由を感じないってだけで、別にリボンは支持してないw
たぶん大概の人は善し悪しはどうであれ、慣れればどうにかなるから使ってる程度の話で、
積極的に支持してる人が多数派とは思えんのだけどね -
>>342
2007が出た当初に散々あった拒否反応が2010の時代にはほぼ消えていたのは確か。
Win8/10のUIに対する不満が今でも消えてないように、
本当は使いづらいけど仕方なく使わざるを得ない人がいるなら、
今でも不満を言い続けている人がいると思うが、ネット上でもそんなの見たことないよ。
っていうかねえ、MSにとってもオフィスは特別だから、本当に不評ならいくらMSでも
リボンを廃止するか、少なくともオプションで旧UIを選択できるようにとっくにしてるよ。
ちなみに、俺自身2007の時代はリボンUIは使いづらいと誤解していた。 -
しかし、「VSでは使われてないじゃないか」ってこれオフィスろくに使ってないことを
語るに落ちてるよねw
使ってればリボンUIがVS向きじゃないことなんか自明過ぎるよ -
>ネット上でもそんなの見たことないよ。
今まさに、ここに沢山居たじゃねーか
お前それらに反論してたんじゃねーのかよ
見たことないってどういうことだよ
お前ひとりで頑張ってて四面楚歌と言ってもよい状況なのに
おかしなことを言うよな -
自分は、MSのオフィスユーザじゃないし、
エクスプローラのリボンは使いにくいと思ってる派だけど、
LibreOffice 5.3 では**実験的な機能**としてリボンUIが実装されてる
http://www.softanten...are/libreoffice-5-3/
一部の分野の一部のユーザには使いやすいのだろうというのも認めるし、
メニュー方式が使いやすいと考える人もいるということでいいじゃないか
ただし、フラットデザインの「Windows の設定」、オメーはダメだ -
>>343
それは何年たっても延々と批判を言い続けるほどリボンを大嫌いな人が多数派じゃないって
だけの話で、リボンが支持されてることの証拠にはまったくなってないよw
どうも君と議論しても時間の無駄みたいだから、このへんで。 -
LibreOfficeとしてはMSOfficeに使用感を似せたいっていう一部要望があったんでしょ
パチもんの宿命 -
リボンはいいにしても例の「設定」に関しては本当に何がしたかったのかすらよく分からんからな…
-
>>349
Windowsのキメラ化w -
使ってないという勝手な決めつけと
使ってる奴は不満を持ってないという勝手な決めつけ
このような頭じゃないとリボンUIを素晴らしいと感じない
って結論が出たな -
リボンUIに需要があればWPFも普及したのになw
-
WPFにおいてはリボンがコンポーネントとして標準化されたのってだいぶ後だし
現在にいたるまでMS側からもこれ使っていけという扱われ方もしてなくね -
リボンは標準化されたと言っていいのか?
標準でツールバーにも入れてもらってないのに
現実は非推奨状態
リボンはUWPでも採用されてない -
まあ2012でようやく他所からもって来なくて良くなったという意味でしかないか>WPFでの標準化
普及しなかったのってユーザー側の評判以前に
MS自身が積極的にデベロッパーに使わせようという素振りが無かったのが一番大きいと思うで
なもんでリボンに重要があればとかリボンの悪評のせいでとかの文脈でWPFが出てくるのがさっぱりわからん -
>>356
そんなことは誰も言ってないんじゃない? -
>>357
言ってるんだよなあ・・・
「イヤ全然関係なくね?」って思っただけだからあんま絡む気もねえけど
> リボンUIに需要があればWPFも普及したのになw
> 逆にWPFが普及に失敗したのは、ExcelがリボンUIを採用したせいで悪い手本になってしまったからだろう。 -
認めたくないものだな、若さゆえの過ちというものを。
-
俺はXAML系の技術はSilverlight切り捨てのときに見限ったなあ
あのとき思い切ってWebへの転向を決断して正解だった
あの状況でWPFの方なら大丈夫と思うのは正直どうかしてる -
過去ログ見てみたらこんなレスが
921 名前:デフォルトの名無しさん[] 投稿日:2014/08/23(土) 15:42:12.35 ID:qd6ZCp8I
HTML5がくるっていってどのぐらいかね。
開発者的にはHTML5で作るメリットは何もないし、いろんなとこで動かせるメリットはあっても結局パフォーマンスとかデバイス・プラットフォームに最適化出来ないとかでネイティブに対する需要は亡くならんよ。しばらくは。
921 名前:デフォルトの名無しさん[] 投稿日:2014/08/23(土) 15:42:12.35 ID:qd6ZCp8I
HTML5がくるっていってどのぐらいかね。
開発者的にはHTML5で作るメリットは何もないし、いろんなとこで動かせるメリットはあっても結局パフォーマンスとかデバイス・プラットフォームに最適化出来ないとかでネイティブに対する需要は亡くならんよ。しばらくは。
924 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/23(土) 21:54:13.82 ID:jO0zpBoJ
むしろWebというかHTML5に過剰な期待を持ってる人の方が2周遅れでしょ。
認識が5年はずれてるよ。
928 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/23(土) 23:43:29.58 ID:hPpI01dm [2/2]
>>925
そうだね。5年後に答え合わせしようね。 -
ぬけてました
925 名前:デフォルトの名無しさん[sage] 投稿日:2014/08/23(土) 22:14:47.48 ID:JJDGD5m1
などと前世紀から何か息巻いた声が聞こえますが
イヤーピースするなりして流して下さい
もうじき歴史の彼方に消え去るはずです -
開発側としては、「嫌だけど世間の流れなので仕方なく使う」みたいな印象 >HTML5
-
歴史のかなたに消え去る準備はできましたか?
-
HTML5を嫌がる人への文句の前に
いつまで経っても協調せず、ブラウザ間の動作の違いを無くそうともしないWebブラウザベンダに文句を言ってくれ -
まだ5年後まで2年あるからその間にWPFが盛り返せばいい()
-
3年の間にjsで天下を取っていたjquerryが死んだことに驚き
jquerry使うと老害扱いされる -
>>361
唐突に何?w
正直web系の技術の現状とか全然追えてないからよく分からんが、
HTML5が普及し始めた頃、どこぞのITの社長さんが「HTML5も結局互換性問題がカオスで
使い物にならねえ」って書いてた通りになってるんじゃないの? -
ITProとか@ITとかじゃないの >追いかける
-
>>371
Chromeはファンも多いがアンチも多いよ。
俺は大嫌い。あのUIのすべてが気に入らない。
ここ見ると多めに見積もってせいぜい4割ってところだろうね。
https://webrage.jp/t...og/pc_browser_share/
実際はもっと少ないんじゃないかと思うが...
いつも思うけど、web系の人ってドリーマーというか思い込みが激しいというか
自己陶酔系というか、およそエンジニアっぽくない人が多いよねw -
Chromeが云々よりIEが無視できる時代になった事が重要
てかweb系と聞いてブラウザの話しか出て来ないのが既に寂しい -
日本の数字ならIEもFirefoxも無視できない数だし
企業だとIE強いよな -
俺は趣味で見てる程度だけど仕事でwebのフロントエンドやってる人は大変だと思う
mvvmも一瞬ブームになったけどもう違う方向に舵を切られた
フロントエンドでmvvmは時代遅れ -
>>373
何でそう喧嘩腰かねw
言ってる傍からドリーマーだけど、どこをどう計算してもそんな結果にならんよw
そもそも集計方法が分からないが、この手の集計は「意識高い系」バイアスを疑うのが常識。
少なくとも日本に限れば、わざわざChrome使うような意識高い系(パソヲタともいう)がそんなに多いとおもえない。 -
>>371
>それ以外はほとんど対応しなくていい
趣味で作ってるならまだしも、仕事でこれは有り得ん
それが出来るならどんなに楽な事か
現実はPCでのIE・Fx・Chrome・Safariに加えて、主要な各スマートフォン&タブレットでも動作テストさせられるんすよ
俺がいた現場ではそうだった('A`) -
>>377
偏見(バイアス)にまみれてるのは君だろw
今はweb見るのは大体スマホがメイン
androidのメインブラウザはChrome
ほとんどの人はChromeを普通に使ってる
Chrome 普通の人
FireFox パソオタ
IE Edge 情報弱者 -
さっきのTOP10集計すると
Chrome 54.98%
その他 25.99%
(FF約 10% IE11 7.22 ) -
能力者気取ってるがそれって地雷を踏む能力だろ。
-
>>379
iOSの標準ブラウザはSafariだし、AndroidでもAPIの対応度が標準ブラウザでも違ったりする
しかも、モバイルとブラウザでは表示や機能も変わる
IEはまだしも、Firefoxは対応すべきだし、Edgeだって利用者はいる -
age
-
リボンUIはやはり消えてなくなるのか。不便でしかなかったからな。
-
リボンは言っても10年前に登場したUI。新しいハンバーガーメニューやアプリケーションバーのように
普段は説明文を隠してワンタッチで見られるUIについての議論とか無いのかな? -
>新しいハンバーガーメニューやアプリケーションバーのように
>普段は説明文を隠してワンタッチで見られるUIについての議論とか
みんな議論する価値すらないと思ってんじゃないの? -
リボンの無いExcelなんて使う気にならないさ。
-
>>387
漢字Talkにそんなもんあったっけ? -
初代Macの頃は漢字Talkなんてなかったぞ
-
マカーがWPF触ってるのか。やはり地雷だったか。
-
>>392
地雷じゃないけどXAMLが冗長過ぎるぞ。 -
冗長と言っても単に記述が長いだけじゃね?
補完は十分に効くし、人が触るものじゃないFormsよりははるかにましになったと思うが。 -
XAMLなんてただの静的宣言の塊だしな
じゃあそれをC#のコードで書くか?っていうと、
それやったら益々長く or 解り難くなるだけじゃね -
それがそうでもないかもと思った
C#はイニシャライザの中に色々書けるので -
日本の会社の業務系アプリ開発で食わしてもらっているが、
あと30年ぐらいはWindows Formsのままだと思うな。
ころころ道具が変わるより、同じカンナとかナズチで仕事をする方が
効率は良いに決まってるし。 -
実務経験がないUIデザイナーはいらない。
-
>>397
UWP移行計画がうまく行くとも思えんけどそれもどうかなあw -
>>397
これが日本の現実か、クソだな -
世界の現実だよ、キミ。
-
>ころころ道具が変わるより、同じカンナとかナズチで仕事をする方が効率は良いに決まってるし
いつまでも泡立て器でかき混ぜてないでハンドミキサー使えよ、とは思うが -
たとえが骨董品。
-
>>397
こういう化石みたいなやつも必要とされる場所はあるんだろな -
そんな判断が下せる人材はとうに脱出してます
-
そう、日本のIT産業の技術力低下が止まらない。
-
>>400
クソかなあ? だってユーザーの欲しいのものは、入力しやすいユーザー インター
フェースと、データを一覧で表示することと、Excelに出力することだけだよ。
WPFじゃないとできないことなんて、何もない。枯れたWindows Formsが最強だ。
ブラウザーを使うWebアプリは遅いし、操作性が悪いから誰も喜ばないし。 -
>>405
カンナがけした具材という点で、Windows Formsのコントロールは完成されている。
もちろん標準コントロールでは貧弱な部分もあるが。様々な有料具材があるので
それを買ってくれば良い。
WPFはXAMLでアニメーションが簡単にできたのは感動したけれど、業務アプリ
で毎回画面が動くのは、目が疲れてウザいだけだった。 -
1回なら誤字かなーと思うが
2回も具材と書くのは、もしかして部材という言葉を知らんのだろうか……
>業務アプリで毎回画面が動くのは、目が疲れてウザいだけだった
それ、使い方を盛大に間違えてる
WPFって一々何でもかんでもアニメーションさせる為に使うもんじゃないっすよ
(初期の頃の、ネットニュースとかでの取り上げられ方がアレだったせいで変な勘違いをされるけど) -
まあいくら言ってもWPFはオワコンなんだけどね
-
まあMSはUWPに移行推奨だろうからね
業務アプリ限定ならwindows10限定以外の問題は
粗方片付いて、残りはオラクルぐらいじゃね? -
>>408
お前WPF知らねーだろ -
>>408
逆に考えるとwindows formsで十分なデーター入力や閲覧がメインの業務アプリなんて、wpfの標準コントロールで十分で、mvvmやデーターバインディングを用いて綺麗すっきりに業務アプリつくれる。 -
リスト表示の仮想化にだけ、ちょっと慣れがいるけどね
せいぜいそんくらい -
>>415
MVVM何それってアホなんだよ -
MVVM完全無視でバインドだけ使ってもご利益があるぞ。
-
formsでも済むようなアプリならWPFでもMVVMなんていらんだろ
イベントドリブンで十分 -
Material Design In XAML Toolkit入れちまえば、大抵のことは誤魔化せるな
-
WPFは面倒くさいというけど、ReactiveProperty使ってみたらWinFormsよりも楽なんじゃないかと思った。
こういうの最初から標準で用意しておいてほしかった。 -
INotifyPropertyChangedをいちいち実装するのは面倒だったからなぁ。
WPFに圧倒的に足りなかったのは、こういう使い勝手を向上する細かな作り込みだと思うよ。 -
このスレ見ると、WPF使ってる奴がどれだけ世間ズレしてるか分るな。脳みそが体育会系、時代錯誤。
-
彼等も当時はWPFこそが次世代の標準プラットフォームだと信じて、WinFormsに固執する連中を馬鹿にしてたんだよ
そして今、自分達が時代錯誤と馬鹿にされる立場になったということ -
>世間ズレ
日本語の出来ない奴発見 -
>>419
MVVMもイベントドンブリなんだがなぁ。。 -
意外に思う人もいるかもしれないけど
イベント駆動って、ゲームなんかの周期駆動と対立する概念で
プログラムをどのタイミングで走らせるかという
いわば「プログラムの休ませ方」の方式の事だからね
Windows的には
GetMessageやWaitForSingleObjectなどの待機関数で休ませればイベント駆動で
Sleepで休ませれば周期駆動
何をトリガーとしてプログラムがOSからキックされるかっていう
OS用語というわけでもないけど、カーネルスケジューラー由来の割とそのような話
WPFはどう考えてもイベント駆動 -
何言ってるのか意味が分からないけど、WindowsのGUIだって
システム側のコードも含めれば君のいう「周期駆動」だよw
ただのポーリングである実体をユーザーコード側からはイベントがあった時に
システム側から呼び出されるように見せてるだけ
それはどうでもいいが、WPFだってGUIなんだからそういう意味ではイベントドリブンに決まっているが、
>>419の言ってるのはコードビハインドにイベントハンドラ書いたっていいでしょって意味でしょ -
WPFだってWinFormsライクにも書けるのに、
データバインディングやMVVMを理解できない人が文句言っているだけ。 -
勉強に疲れた君がWinFormなんじゃね?
XAML無しのコードだけで、コンポーネントを書くのは、WinForm厨君にはハードルが高いかも? -
>>429
イベントベタ書きは良いけど、データバインディング無しでwpfは辛いだろ。 -
>何言ってるのか意味が分からないけど、WindowsのGUIだって
>システム側のコードも含めれば君のいう「周期駆動」だよw
>ただのポーリングである実体をユーザーコード側からはイベントがあった時に
>システム側から呼び出されるように見せてるだけ
まずどこのレイヤーの話かというのもあるが、それは置いておいて
低レベルなところまで下りて行っても
マウスやキーボードは(タイマーじゃない)割込みで動いているのでイベント駆動だ
OSがマウスやキーボードをポーリングしてたら糞だろ -
ただ何処のレイヤーのどの部分が何駆動になっているかという話なので
全体的にみてどうこうという話ではない
だからイベント駆動が基調のWindowsのウィンドウで
周期駆動のゲームを動かすこともできるわけで
プログラムの流れ的に、周期的に動くのか
イベントがあるときだけ動くのか、というだけのこと -
そうなのか?それは悪かった
ただ、何処のレイヤーのどの部分に着目するかだから
WPFの話をするときにハードウェアやドライバの話は関係が無いので
WPFはイベント駆動で問題ないけど -
コードビハインドにイベントハンドラを書くスタイルをイベントドリブンと書いちまっただけなんだから
いい加減許してやればいいのに・・・・
あと、wpfのmvvmはデータドリブン型モデルとされています -
WPF この先生き残るの?
-
C++/CLIのようにMS自身が非推奨にしない限りMFCやWinFormsと同程度には生き残るんじゃないの
-
今のところはVS自体の開発に使われてるから基礎的な部分はメンテされてる
VSが完全にHTMLに置き換わったら本格的に終わるね
置き換えの流れはもう止まらないし、今のVSの開発スピードなら次のバージョンでWPF完全排除でもおかしくない -
VSCodeみたいな遅いのは勘弁
-
また夢見てる例の人が着てるけど、HTMLへの移行なんてデメリットだけあって
メリットは一つもないことが本気で理解できないなら相当頭悪いと思うよほんとw
最初ネタで言ってるのかと思ったけどマジで言ってるみたいだから怖いよね -
WPFってHTMLと同じ土俵だったの? 知らなかった。
てっきり、画面設計とロジックがWinFormでは分離しがたいから出てきた思想だとばかり思ってた。 -
ただ、xamlにcss的な仕組みを取り入れるのは悪くないと思うけどね
styleだけだと冗長だ -
そもそも分離したいという開発者に会ったことがない。
-
>>445
業務系のデータ処理だけとかだとWinFromで十分だよね。
これが、製造現場の一部画面が違うだけのページオンパレードのシステムだと大変。
WPFだと、ConcreateContextの参照先をロジック一か所にするだけでOK。
単純な例だけど・・・ -
>>442
VSCodeがエディタの天下取った時代に何を言ってるの? -
>>439
C++/CLIはMSが見放すくらい使われていなかったのか。 -
>>447
atomよりはましたが糞遅いので天下取りは勘弁して -
>>447
あくまでも「エディタ」な -
昔みたいにMSの天下ってわけじゃないから
これから先もずっと下手な手を打っては下火になったら放置プレーして
また新しいの出しての繰り返しだよ
完璧にMSの商売の都合でやってることだから・・・
負けたら次のを出すしか払拭できないからね
保守も大変だからQtとかに乗り換えるか
いっそのことWin32API+独自UIコンポーネントの方が後々楽そう
コロコロ使い捨てする安定しないベンダーのコードにあまり依存しないほうが良いんだろう
C++/CLIとかで書いちゃった人かわいそう -
SilverlightやVB6で書いちゃった人もかわいそう
-
>>451
Qtの方が保守はよっぽど大変そうwww -
>>454
Windiws10でvb6を切らな切ったのでvb6コンバージョンの仕事か舞い込んできた。あーーーーーーーーーーーーだりぃ。 -
>コロコロ使い捨てする安定しないベンダーのコードにあまり依存しないほうが良いんだろう
それが一番激しいのがWebフロントエンドの分野だよな。
みんなサーフィン大変そう。それが楽しいのかも知れんが。 -
VB6 は充分もと取っただろ
って言うか取りすぎていまだに保守案件があったりするし -
>>455
むしろそこが問題なんだよな
デスクトップを踏み台にしてあちこちに手を伸ばして
結局、割食ってるのは従来のデスクトップ
もはやデスクトップでは何しても天下は揺るがないから
不便でも何でも関係ない、どうせユーザーは逃げないから
我慢してもらおうっていう
Win8あたりからそんな感じ
電話ではもう失敗は完全に確定済みだけど
まだタブレットが残ってるから、しばらくはこんな調子だろう -
タッチ入力とマウス入力ではあまりにも違いすぎるからUIの統合は無理なんじゃないかと
それはMSもわかってるんだろうけど、デスクトップの圧倒席なシェアを足掛かりにして
その延長でタブレットにも普及させたいっていう思惑があるから
どうしても割食うのはデスクトップになる
既になんだかよくわからないことになってるしな -
タッチ云々はUWPの問題で、wpfは関係ないだろうに・・・・
wpfが出た当時はVistaでしょうが -
タッチもマウスもキーボードもペンも大して違わないのにな。
-
結局WPFを使わない理由だけ並べて
勉強サボっているだけだね -
マウス用UIをタッチで操作しにくいことはあるけど
タッチ用UIがマウスで操作しにくいと思ったことはあんまねえな -
古典的な抵抗被膜時代のUIならそうだけど、
今時のフリックやスワイプやマルチタッチを多用するUIは厳しいよ -
そもUWP以外でタッチ用UIをマウスで操作する機会があんま無いと思うが
ぶっちゃけコンテキストメニューさえ出せりゃどうとでもなるからな
マウスって元々可能な基本操作は少ないし
マウスUIをマウスで触るのに対してタッチUIをマウスで触ることによるストレスの差は小さいのだろ -
一応Windows 7 からOSがネイティブでタッチパネルに対応してるんで、
WPF4ぐらいからタッチ操作に対応してるんだけどね -
Webももう衰退するでしょ
今の一般人はPC持ってないんだぜ。
Webサイトの運営してみるとわかるけど、99.9%がスマホからのアクセス。
なら糞遅いWebじゃなくてネイティブアプリでいいじゃん。 -
>>468
Webサイトの数の専用アプリを作るつもりか? -
>>464
脳みそにウジでも沸いてんだろ。 -
そういう世の中になる。
googleで検索するのではなくてアプリを検索する時代。 -
これからはUWPでしょ? UWPのスレが無いのが不思議。
-
>>472
Windows 10 UWPアプリ開発 Part 2 [無断転載禁止]©2ch.net
http://mevius.2ch.ne...cgi/tech/1499658092/
何故無いと思った? -
>>471
自分の予想と全く逆なのが面白い -
Webの衰退は全く考えられない
ブログ読むためだけにアプリ入れるとか面倒すぎてあり得ない -
2chブラウザとか便利すぎて否定とかありえない。
-
スマホだとyoutubeもtwitterもgoogleマップも全部アプリだよな。
-
そのような反論は全く意味がない
専用アプリはヘビーユーザー用 -
PCで発展したHTMLのUIとタッチUIでは壁があるんだよ。
-
あと、専用アプリはサイト間の移動がしにくい
専用アプリから別サイトのURL踏んだら
結局Webブラウザが立ち上がる -
おれのスマホは専用アプリかブラウザかを選ぶ画面が出てくるけど。
-
適材適所なんだよなぁ。
Webで統一は時期尚早。 -
アプリインストールの手間こそ減ってきてるんだよなあ
-
そうだHTML5でwebブラウザ作ろう
-
JavaでOS作ろうみたいな話か。
-
javascriptで.NetFrameworkとWPF実装すればいんじゃね
-
なんでそんな面倒な個別対応しなきゃならないんだよ
x86-64のエミュレーター作って、とうか仮想マシン作って
Windowsインストールすりゃ全部いけるだろ -
全部Silverlightで動かそう
-
XML系技術は自由度と引き換えに保守性が低下したから技術が使い捨てになってるな。
-
vb6しか使ったことのないオッサンを助けてください。
canvas1内に複数のタッチされた点があって、その一番右側にあるIDと、一番左側にあるIDを取ろうとして、
e.GetTouchPoint(Me.Canvas1).TouchDevice.Id
を、for nextで回そうと思ったんだけど、
そもそもIDの初期値が0で始まるワケでもなく、また終了地が初期値+その端末のマルチタッチの数によるって事で、
どうしていいのか、わかりません。
何かいい方法ありますでしょうか。
(そもそも考え方が間違ってるかも知れませんが〜) -
いや、そもそもなんでマルチタッチのIDなんか区別する必要があるの?
何の意味もないだろ -
for eachで回せば解決とかいうオチじゃ
-
やってないけど普通にタッチ中の点を管理したらいいだけじゃないかな?
辞書にタッチ中の点を記録して
時間の流れ
↓ ポイントAタッチダウン 辞書にAを追加
↓ ポイントBタッチダウン 辞書にBを追加
↓ ポイントAタッチアップ 辞書からAを削除
↓ ポイントCタッチ 辞書にCを追加
好きなタイミングで辞書のX座標を比べて右(最大)のと左(最小)のを出すだけ -
色々回答&ヒントありがとうございます。
>>497
TouchDownの瞬間でなく、TouchMoveで動かした後、その時点での一番右側にあるIDと、一番左側にあるIDを取りたいのです。
常に辞書というか、配列に入れ続けるしかないですかね。 -
Manipulation系のイベントじゃだめなん?
-
vb6最強!
msがwindows10で引導を渡さんからwindows10対応の仕事が舞い込んで来た。あーーだりぃ。 -
上にもあるけど不便な手動のノコギリやカンナを使い続けられる能力が羨ましい
若い時は我慢出来たけど年取ると楽な方へ流れるw -
それを言い出したら究極的には出来合いのパッケージやノンプログラミングツールを使えという話になる
作る側と使う側が分化しつつあって、WPFのような中途半端なものは衰退していってるのが今時の流れ -
不便って電動ノコでノコギリの精度は出ないよ。たとえがアホすぎる。
アメリカの住宅レベル2x4作るなら構わんがノコギリ、カンナなしでは日本の家は立たん。
winformをノコギリやカンナに例えてるようだが逆だ。
面倒だが細かくカスタマイズできるWPFこそノコギリやカンナなのだ。 -
>>502
電動ノコで手ノコの精度は出るぞ。どちらも使う人次第だ。 -
絶対に出ない。
-
電ノコスレは今日も盛り上がってるな
-
>>506
ほんと何も知らないなら例えるなよ。日本大工の継ぎなめんな。 -
どうぞPGじゃなく大工になってくれ
プログラミングなんて、そもそも面倒臭がりが効率化の為にやるもんだ -
ならWPFスレなんていらないという話だ。なぜこのスレにいるのだ。馬鹿め。
-
IT大工の登場かw
-
全てのプログラマは自分の持つ知識を最大限にひけらかして悦に入らないと死ぬ病気なんだな
-
>>508
プログラマーは横着をするためにはどんな努力も惜しまないもんさ。 -
全自動洗濯機があるのに手洗いに固執するのもまた一興
-
エクストリームアイロン掛けみたいなものか?
-
氷点下なら全不能洗濯機になるからな
-
>>514
xamlの編集は手洗いだけど全自動Blend使うと幸せになれるのけ? -
>>507
そんな戸建て住宅では絶滅した大工の事を言われても。 -
WPFが絶滅しつつあるのを例えてるのさ。
-
ふぅん
-
昔は雪隠と言われていたが今は型枠かな
-
問題:わざわざお門違いの大工の話を持ち出して、自らのおかしな所を認めないレス者の気持ちを答えよ(5点)
-
問題:わざわざお門違いの大工の話を蒸し返して、過疎スレに一石投入しようとしている物の気持ちを答えよ(25点)
-
>>523
回答:物に気持ちはありません、やり直せ -
>>524
5点
欧米では、物に気持ちはありませんが、我が国の古神道においては、
古来より森羅万象には八百万の神が宿るとされ、古くから使われた物や、
長く生きたものや自然のものに、神や精霊が宿るものともされています。
よって「物に気持ちはありません、やり直せ」では不十分な回答です。 -
過ごしても面白いと思って書いたか、白雉
-
WPFもUWPスレも過疎り過ぎ。
c#の今のトレンドは何なのさ? -
トレンドなんてない
ただ淡々と自分が使いたいのを使うのみ -
技術として成熟してしまって、素人があーだこーだと口を突っ込める所が無くなってしまったって事か。
何だかんだ言っても、PCデスクトップ環境じゃc#/WPF一択みたいなもんだからな。 -
>>528
業務用のASP.NETはぼちぼち好調なんじゃないの -
WPF難しいよ…
みんなどうやって勉強したんだ? -
とりあえずコンテンツモデルとデータテンプレートあたりをおさえよう
-
99%は挫折してwinform使ってる。
-
>>534
99.9%じゃね? 新しもの好きがエラソーな事言って始めるが、WinFormからWPFに移行できた奴は見たことない。 -
かずき大先生とドボンちゃんとStackOverFlowの名も無き外国人さまには足を向けて寝れんわ。
-
ちょまどへのお布施が足りませんな
-
>>528
ASP.NET Core -
UWPコケたらMSはどうするんだろう。
-
みんなどうやってプログラミングの知識や技術を身につけたの?
初心者なんだけど難しすぎてつらい -
無料のセミナーとか行けば?
-
全部独学だなあ
-
youtubeにいっぱいあるよ!!
https://www.youtube....ch_query=wpf+lessons -
>>545
仕事で必要な場合はある程度プロジェクト費用にトレーニング分積んでおいて、こういうの頼むのもありかも
https://jp.infragistics.com/consulting
趣味なら頑張るしかないね。 -
インストールがストア経由かサイドローディングってのがネックかなぁ。
-
業務なんかもともとASP.NETが中心だから大して問題ない
オリジナルのASP.NETの方はWinForms同様にフェードアウト中だけど -
>>551
そのサイドローディングが高過ぎ。 -
>>552
頻繁に使うアプリがWebだと辛いだろ。 -
辛いかどうかはともかく実際使われてるんだから仕方ない
業務アプリってどういうものかわかってる? Illustratorみたいな業務用ツールと勘違いしてない?
業務アプリなんかWinFormsでも大量生産されたCRUDの雑なフォームがほとんどで、Webと大して変わらんよ -
そこでXBAPですよ
-
>>550
データベースに直接接続出来るようになったの? -
>>557
ちょっとググってみたらハンパないゲテモノ臭がw -
まあぶっちゃけゲテモノです
Silverlightが生き残っていればな、と思わずにはいられない代物 -
>>554
頻度の問題じゃないだろ -
UWPのサイドローディングって金かかったっけ?
-
まーた始まったw
ずいぶん前に一番「成功」しているwebメールでも
デスクトップのメールアプリを代替できないのはなぜかと書いたけど、
カンがいい人ならこの一事からいろ敷衍して考えるけど自分の頭で考えずに
たまたま自分が浸ってる周囲の空気に寄っちゃう人は何言ってもダメだねほんとw -
Webアプリがちゃんと作り込んだデスクトップアプリに及ばない事は多々あるけど、
業務アプリに限っていえば、多少不満はあっても仕事だから仕方ないと割り切って
使うもんだからな(大抵の場合社員が文句言った所でどうにもならないw) -
メールなんぞ、最初からWebと繋がる事が前提なんだから
ローカルだろうとブラウザ内だろうと、そんな変わるもんでも無いしな
わざわざWebに置き換える意味が無いのは、calcとかnotepadとか
Chromebookみたいな環境なら話は別だが -
ちなみにうちは某I系列だけど、Iの社内システムはメール含めほぼWebベースに移行したよ
デスクトップクライアントだった頃より遥かに使いやすくなった -
>>565
企業はGmail禁止の所が多くないか。 -
>>574
首吊った方が良い(^o^; -
>>552
オリジナルってオレオレ表現は何が言いたいかわからん
.NET Coreに対するFull(Desktop)の.NET Frameworkのことなのか、MVCに対するWeb formsのことなのか -
>>576
きっと無印aspの事ですよ。 -
WP終了するの何度目だよ死ね
-
>>563
ライセンスは不要っぽいけど証明書がだるい -
>>578
WPって? -
>>577
.NETですらなかったか -
ぐぐったら有ったOrz
-
もはやwebがGUIプラットフォームとして普及しすぎて作る側もデスクトップよりwebベースの技術持ちのほうが増えてるんだよなあ
-
VB6の業務システムをWeb化したけど
使ってる職員の人に泣きながら「元に戻してください」って言われたわ。 -
まあ、2chもtwitterもWikipediaもはてなもyoutubeもniconicoもamazonもyahooも専用アプリで見てるからな。
Webで作ってはい終わりなシステムは存在自体迷惑。
「ちゃんと」UWPで提供してくださいね。 -
>>585
お前の腕がよっぽど悪かったんだろうな -
>>586
お前んとこよ業務システムはスマホOnlyかよwww -
>>587
死ねよ -
>>589
それが職員の本音 -
VB6はドトネトより明らかに早いから、しっかり作ってあるとWinFormsなど見た目で差別化が出来ない場合辛いものが有るね
まあメンテするこっちからみたらクソ言語では有るが -
アプリケーションは速ければ速いほど良い。
vb6ってこんなに軽かったっけって思うよ。
でもこんな仕事はいやズラ(T_T) -
いくら速くてもメモリリークするようなゴミでは使い物にならない
やっぱりWPFだな
GdiplusStartup と GdiplusShutdown を繰り返すとメモリ リークする
https://blogs.msdn.m...gdiplus-tsf-memleak/
>現在、この問題を修正する予定がありません。 -
>>594
これってそんなに頻度高いの? -
いくらメモリーリークしなくても日が暮れる前に仕事を終えてくれないとなー
-
gdi++の初期化/終了なんぞ頻繁に呼び出すことはないからどうでもええけど
それより原因となるTSFのリーク発生条件がやべえな
ダミーウィンドウと共にスレッド起こすのは小細工としてそこそこ出番があるような -
>>591
掘”った栗 -
>>539
デバッグしたい// -
DatetimepickerってWPFに無いんだ…
日付と時間表示どうすんの… -
今アフリカでは飢えた子供たくさんいます。皆さんの寄付をお待ちしております。
-
慣れたら便利は不便ってviで学んだ。
-
不便じゃないがxamlは微妙だわさ
-
mvvmやxaml,データーバインディングは作りたいアプリがあったので作りながら覚えれたけど、次のステップとしてリアクティブプログラミングやろうとしたがリアクティブはかなり敷居高そうだな
-
WinFormsでカスタムコントロール作ってオーナードローした人じゃないと
wpfの有り難みは理解できんかもな
そりゃコントロール並べるだけならwinfromsのほうが遥かに簡単だ -
少なくともWordが使いこなせないとxamlは無理ね。
-
なんでコントロール並べるだけのことが後発のWPFでは難しいんだろうな
WinFormsでできることがXAMLを一切触らずにがUIデザイナでできたら、
結果は違ったんだろうか? -
uwpでReactiveCommand使う時、disposeのタイミングで例外吐く不具合があってエライ目に有ったんだが
アレは治ったんだろうか? -
遅いらしいし、コントロール揃ってないし、なんかめんどくさそうだし、将来WPFが
主流になるんだったら覚えてもいいけど、まあもうちょっと枯れてからでいいやと
思い続けてとうとう今日に至る -
>>615
10年経っでるのに枯れてないとな。 -
winfromやwindows7で困ってない人を移行させるのは難しい。
それ以前に移行すると困る人が大勢いるのはMSの怠慢と言わざるをえない。 -
アスペのすきなC#
-
奴隷の好きな言語は?
-
Java
-
Java案件には関わりとうない
-
アスペが釣れる
-
Java案件にはデスマが待っている。関わりとうない、関わりとうない♪
-
>>624
prismなんかで組んでいるようだから、2,30分も有れば基本的なことは出来るよ -
xamarinがwpf/mac/gtk#にも対応するようなのでいよいよ本当に終わりですか
-
あの人達キモいからヤダ
-
チンポ騎士団員は帰っていいよ
-
MVVMが全く理解できん
プログラミング初心者には無理な壁か… -
個人開発の規模だと、ビューとモデルを分割する事のメリットからしてあまり感じられないだろうから無理も無い
-
VとVMの切り分けはよく分かるんだけど
VMとMの切り分けがよく分からないんだよね
データがRDBにあるとして
VMでSQL書くのはMVVM的にNG? -
prism.UnityとかAutofac等のDIコンテナ使うとMVVMの理解は深まるけど
DIコンテナの理解を深めないといけないという自転車操業 -
テストコード書かないのなら分離しなくても問題ないでしょ。
-
設計者俺実装者俺利用者俺の3俺構造だとMVVMの恩恵はあまりない
一応恩恵あるけどスゲー便利というほどじゃない
どちらかというとObservableCollectionやMicro-ORMの理解の方が大事だと思う -
Viewの部分入れ変えても大丈夫な程度にしておけばいいと思う。
-
WPFに何を求めるか次第じゃないの?
MVVMとしての美しさを求めるか、単にUIとしての美しさを求めるか。
オレの場合はUIの美しさしか求めないんでMVVMはどうでもええ。 -
アプリの規模にもよるかな
-
画面作るのはXAMLが楽で良いなぁ。
-
MVVMで作るときのソリューションのフォルダ構成どうしてますか?
Models/Views/ViewModelsの下にPages/UserControlsなどを置くか、その逆にするかで迷う。 -
迷うってことは、問題が解決してないってこと。つまり失敗した概念だと言えるな。
-
分けるというより、目障りだからどかす、というイメージが強い
意味合いが#regionに通じてるところがある -
たしかにViewにプラスで必要な部分は迷うわ
-
>>642
xamlとVMは同じフォルダ内に置いてる。 -
データコンテキストってなんなの…
全然使い方がわからない…
WPFほんと難しい…自分の頭の悪さに引くわ… -
そんなとこで詰まってるならやめた方がいいんじゃない?
テンプレートバインディングや依存関係プロパティで死ぬよ -
ルーティングイベントとかクッソ意味不明
Adornerとかレイアウトイベントの使い分けとかDrawing系の低レベル描画層とかゲロ複雑すぎてやばい -
あと見た目の状態遷移に使うVSMも癖があって慣れるまでクソ難しい
WPFの場合は更にトリガとの使い分けもあってカオスの極み -
あとWIC系のAPIもヤバい
たかがビットマップイメージがなんでここまで複雑になるのか不思議なレベル -
DataContextやDependencyPropertyは使ってりゃそのうち分かるようになるし
一度分かってしまえばどうということもない
VisualStateManagerは確かに難しい
つか使いこなせん
Styleのカスタマイズは未だに試行錯誤というか行き当たりばったりだわ -
んー…なんというか…。書くとか書かないとかというか、、データソースなんだよ
-
>>655
Contextって名前が曖昧すぎる。
DataHogeと同じで名前に意味はない。
DataContextにはViewModelのインスタンスを設定してDataCintext=ViewModelだと思ってればよいのだ。 -
WPFが流行らなかった縮図を見ているかのようだ…
-
WinForms時代のデータソースも分からない人だろ。
-
>>656
>>657
>>658
せっかく説明してくれてるのに理解出来なくてごめんよ…
元々プログラミング始めたばかりの自分にはハードル高いよな…
this.DataContext=table;
とかだとXAMLにBinding tableって指定してる所と紐づけるって解釈で良いのかな?
MVVMでアプリを作ってみてるんだけど、C#の言語自体の理解もまだまだだからすげぇ難しい…
this.DataContext=table;←これもModelクラスに書くべきなのかViewModelに書くのかよく分かってない
View→ViewModel→Modelって関係になっててV,VMとMは切り離して考えるのは分かるんだけど、例えばModelクラスに書いてる処理(例えばデータベースの値をDataGridに表示させるとか)をどうやってViewModelから取得したらいいの?
プロパティとか使うの? -
>>661
それは Xamlには Binding だけでいい -
知識ないうちはXamlは地獄
知識あってもタイプミスとかでデバッグがものすごくつらい
いろいろ無駄なことをさせられる -
俺の理解ではDataContextはBinding SouceとBinding Targetのつなぎ目
DataContextを設定してはじめてSouceとTargetは赤い糸で結ばれる -
>>661
細かいことは省略した大雑把な例だけど、
class Table
{
int A { set; get; }
int B { set; get; }
}
this.DataContext=new Table();
と設定しておくと、{Binding Path=A}とか{Binding Path=B}って書けるようになる。("Path="は省略可) -
>>661
まず、データベースとか関係なくDataGridに何か(例えば1〜10)を表示することを考える
そうするとModelは必要ないからViewModelに全てを書く
ViewModelがViewのために1〜10を教えてあげるとViewはViewModelの言うがまま表示する
このことをViewModelにdatabindingしていると呼ぶ
しかし、いつも1〜10を表示しても何の役にも立たない
目的に応じて適切な値を表示したい
この1〜10ではなく目的に応じた適切な値を管理するのがModelの役割
例えば、データベースから31415926534とか取ってきたりする -
>>667
>xamlはhtml見たいな画面記述言語じゃなくてc#(.net)のインスタンスを記述する言語。
それXAML一般じゃなくてWPF限定だから気をつけた方がいいよ
UWPやSilverlightでは.NETオブジェクトはアンマネージドなXAML DOMのラッパー
だからC#でツリー組むよりXAMLをテキストで読ませたほうが速かったりする -
>>669
それじゃUWPのobjフォルダに有る xxx.g.csファイルって一体何だ? -
一発目でwpfはツレーだろうな。理解していることの前提要素が多すぎる
-
MVVMに手を出すとさらにつらくなるね
-
素直にWinFormsで入門すればよかったのにw
C#に限らず今時のプログラミング言語自体、まったくの初心者にとっては躓きそうな要素が
色々あるのに、xamlがーとかMVVMがーとか言い出したら、地雷原を素足で歩くようなもの -
>>674
ConsoleでHello,world からでしょ。 -
ほんとそれな
Viewの前にModelの作り方、GUIの前にCUIの作り方覚えろと -
今時CUIはないでしょう。
モチベーションが続かないし、Windows FormでポトペタでGUI作るより
CUIの方が簡単とも思えない -
>Windows FormでポトペタでGUI作るより
いきなりそれからやろうとすると、基礎が身に付かんだろって話なのよ
言語の基本仕様くらい真面目に学習せんかーい -
>>678
じゃあ聞くけど、CUIを選択することで学習できる基礎って何?
そんなものはないよ。あるなら言ってみ?
そういう話なら、たぶん構造化プログラミングをすっ飛ばしていきなり
クラスベースのOOPに挑戦する弊害の方が大きいと思う -
CUIは入出力がものすごく単純でGUIみたいなフレームワークの知識がほぼいらないので言語の仕組みそのものに学習を集中できる
-
>>679
MVVMのModelで実行できるプログラムにGUIって必要か? -
ぶっちゃけ、GUIやConsoleプログラムのI/Oって泥臭い処理で
プログラムの本質を学ぶ上では必要の無いものなのかもね。 -
とりえあず、かずき大先生の記事を貼っておく。
日本語のWeb情報でWPFに関してこれを超えるものはないと断言できる。
http://blog.okazuki....ry/2014/12/27/200015
お布施、払いたい人はこれ
https://www.amazon.c...1_?ie=UTF8&psc=1
これも必須
https://www.amazon.c...CTION/dp/4798114200/ -
>>680
curses全力否定? -
>>684
cursesみたいに複雑にしようと思えばいくらでもできるけど、printfとscanfだけでも最低限のものは作れるでしょ
GUIだとその最低限のものを作るのにも書かなきゃいけないことが多くて初心者向きじゃない -
ボタン押してラベル書き換えるぐらいもやる気がないなら
プログラムやる資格はないと思う -
>>ボタン押してラベル書き換えるぐらい
のことでもViewのコードビハインドにするかViewModelとの相互作用にするかでも悩まされるのがWPF
ViewModelとの相互作用で書いた方が可搬性があがるよ!
…分かるけど、それ、初心者向きかしら?そんなことも思わすのがWPF -
>悩まされる
悩まなくね?
ボタンのラベルを他から参照する事が無い、次の画面に持ち越さずその場限りの使い捨てで良いならコードビハインド -
>GUIだとその最低限のものを作るのにも書かなきゃいけないことが多くて初心者向きじゃない
という程にはWinFormは難解じゃないわな。その辺りは良くも悪くもVisual Basic譲り
ただ、GUIから入るとFormの存在感が強すぎて、ブラックボックス的な部分もあって、クラス
などの基礎知識の理解を遅らせかねない部分があるのは確か
とはいえ、今のご時勢CUIでストイックにプログラミング勉強しようとも人に勧めようとも
思わないけどな
ボール無しでの基礎訓練も大事だけど、やっぱシュート練習のほうが楽しいわさ -
>>688
>ボタンのラベルを他から参照する事が無い、次の画面に持ち越さずその場限りの使い捨てで良いならコードビハインド
そう。悩まないんだ!すごいねー。それで可搬性のあるコードになるんだー(棒
みんなそうなるといいねー。すてきー(呆 -
低能なら低能でコードビハインド使うのは別に悪ではない。
-
けっきょく低能よばわりされるんだ、悪じゃないのに。へー(もはや何もなし
-
かずきは大したことないよ。ただブログこまめに発信してるだけ。
neueccみたいな何か作り出せるのが最強 -
低脳が悪とは限らない
まあケースバイケース -
WPF使えるようになれば分かると思うが、理解できないのはWPFが糞設計だから。
決してPGのスキルの問題ではない。もしPGのスキルのせいにしてる奴がいるとすれば、
そいつはWPFを理解していないだけ。 -
コードビハインドとか新しい用語作っておきつつ学習した後で
それは柔軟性が足りないとか言われても困る -
ウメーとこだけバインド利用しましょうでええんや
キッチリカッチリ無理無理。ハゲるぞ -
WPFが糞というのはないな、xamlが糞だというのはおおむねそうだな
xmlもどきで記述されたものを専用パーサで読みUIを作るという着想はいいんだ
問題は書式、カッコ増えすぎインデント深すぎ、可読性が悪いし記述がしにくい -
フラットだったら可読性が良いってわけでもないと思うがな。
少なくとも、デザイナー使わないと読んでも理解できない.Designer.csよりはマシになったと思う。
xamlでネストが深くなりすぎたと思ったら<UserControl>でモジュール分割するタイミングだな。
main()関数の中に全部の処理を記述するようなことしてるから糞に思えるんだよ。 -
xmlの問題なのは重々承知だが、コメントの書き方何とかならんものだろうか
-
なんとかバインドの雰囲気がわかったと思ったらコマンドってなんだよ
これ1番わからねぇわ -
WPFの本質が見えているとなぜ普及しなかいなんて一目瞭然なんだが、
それをPGのスキルのせいにするのは基本的にWPFの本質、使い方が何も分かってないのだろう。 -
WPF以外でスタイリッシュなUIって作れるのありますか?
WinFormじゃメチャクチャ工数がかかるのでWPF以外で何かいいのあったら教えて頂きたいです。 -
UWPがあるぞ
-
>>706
今だとElectronの一強 -
wpf難しい…
データバインドがうまくいかない
データベースから取ってきたリスト型のデータをコンボボックスのitemsourceに設定するだけなのにうまくいかぬ -
Electronは初見なので調べてみます。
-
>>705
>それをPGのスキルのせいにするのは
PGのスキルのせいだと思うぞ。
MSが日本の平均的スキル(日本のITは奴隷産業なので世界の底辺以下のそのまた以下の以下のゴミクズ以下)を超えた物を作ってしまったのでついて行けてないだけ。 -
WPF開発は個別の画面の前に全体の仕組みの設計から入らないと上手くいかないというかクソ手間かかるんだよな
日本人はそういうの苦手でボトムアップが好きだから根本的に合わないんだよ -
まぁ確かに、Formsだとポトペタで画面作ってダブルクリックで開いたイベントハンドラに
ちょいちょいとコードを書けばそれで動くものができたからな。そのお手軽さは素晴らしい。 -
WPFでも全く同じ事出来るんですが…
-
htmlの手書きが出来るならxamlなんて言うほど大変じゃないんだけどな
swingのレイアウトよりは遥かにマシだと思うし -
TriggerとCommandは触らねーって誓っておけばまあまあ
-
うっかり<i:Interaction.Triggers>書いちまった、もう戻ってこれないかもしれない、すまぬ
-
すっかり忘れてたが、CommandってprismとかReactiveCommand使わんと無茶苦茶面倒だったな
prism使えば大したものじゃねーよ -
>>709
リストはListではなく、ObservableCollection使ってるか?
リストはプロパティになってるか?
フィールドだとバインドされないぞ
リストのインスタンスをバインドした後に書き替えてないか? -
コマンドは許すがビヘイビアは最悪
あの頃の「コードビハインドは殺せ」な宗教化したMVVMのせいでWPFが避けられるようになったんだと思うわ -
uwpからイベントをバインド出来るようになったから、ビヘイビアは殆ど書かなくても何とか成るようになった
-
先行者とMSの人のせいだな
-
ちょまど神への信仰が足りないからです
-
騎士団はお帰り
-
ビヘイビアって依存関係プロバティーが仰々しいだけで、中身は大したことやってないから難しいものでもないんだけどね
警戒せずにコード読めば簡単に理解できるから -
ビヘイビアの問題はビューとロジックの分離を壊すこと
Libet信者なんか当時はXAMLでプログラミングしてドヤ顔してるような状態で本当に酷かった -
>ビヘイビアの問題はビューとロジックの分離を壊すこと
ビューにロジックが存在しちゃいかんって法はないだろ。
ビジネスロジックを置くべきじゃないって話と混同してるんじゃないか? -
ビューとロジックの分離というのは文脈によって様々なものを指すが、
WPFの根幹の思想としてのビューとロジックの分離は、「見た目はXAMLで定義し、振る舞いはコードで定義する」ってことだ。
それを破ってXAMLで振る舞いを定義しようとしたのがビヘイビア。
強力すぎる設定ファイルを与えると人は次第にそれで複雑なプログラミングをするようになるもので、
設定ファイルとして分けた意味がなくなってしまうんだよ。
ダイアログ出すくらいいいだろと思う人もいるかも知れないが、それを認め始めると歯止めが効かなくなるの。 -
>WPFの根幹の思想としてのビューとロジックの分離は、「見た目はXAMLで定義し、振る舞いはコードで定義する」ってことだ。
XAMLのみがビューだと言っているのか?
ビヘイビアのコードはビューじゃないとしたら何だと? -
Viewの「動作」を書くのは有だと思うが
何事も程々にですな -
>>730
ビューとロジックというのは相対的なもので、具体的に何を指すかは場合によって違う
WPFはもともと、デザイナーがデザインを作ってプログラマがコードビハインドを書くことで分業するように設計されている
プログラマ目線のビューとロジックの分離はもう一段上がるわけだが、それはWPFとは直接関係のない話だ -
ビューとモデルの分離
プレゼンテーション(ビュー)ロジックとビジネスロジックの分離
デザインとロジックの分離
このあたりの勘違いだろうと突っ込んでみたら、説明がどんどん意味不明になって笑える -
WPF = MVVM だと思ってると敷居が高いがWinFormに代わる綺麗な
UIの作れるライブラリだと思って使えば敷居がかなり下がる。
コードビハインドとバインドしてイベントベタ書きでも何も問題無いんだよ。
MVVMなんて高尚なものは後でも良いのだ。 -
xamlを書けるホンモノのデザイナーなんて日本に存在するの?
-
>>735
これが解ってない人が多すぎるね -
>>738
xamlにMVVM, Entity Framework, prismのようなライブラリ
初心者がフルコースで全部やろうとすると玉砕するのは当たり前。
先ずは、xamlとbindingだけ理解できれば十分だと思う。 -
ビヘイビア使わないでフルードアニメーション書くならどこに書くんだ?
Vしかないだろ
ビヘイビア自体は適切だろ -
xamlとbindingを削除すればいいんだ。
-
だから、ビューが最小限のコンソールアプリを書いて、それにビューをつけるようにしておけば、モデルロジックとビューロジックの境目がわからみえるようになってくるよ
-
xamlをWinFormに置き換えても、そのまんま動くのがModelだけど。
だったら、このスレと関係ないがな〜になる。 -
ViewModelとModelをdllにしても問題なくビルド&実行できるなら
それはちゃんと責務の分離が出来ている -
それは違うかな
-
UI変更したらViewModelは影響受けるけどModelは一切影響受けない(ようにつくる)だけだろ
-
アプリを作れて動いて、それで誰も困ることがなければどうやって作っててもいいと思う。
メンテしないような使い捨てアプリにMVVMで作るコストかけても仕方ないし、メンテナンスや機能拡張するアプリを、ちゃんと設計せずに作るのはヤバイ。
適材適所 -
馬鹿は一つしか覚えられないから金のハンマーを欲しがる
-
prismを見ると、MVVM以外にDIコンテナだったりナビゲーションサービスだったり画面遷移型のフレームワークってのももう一つの柱なのがわかる
WpfのゴールとしてMVVMだけじゃなくて、従来のWindowを次々開くタイプのアプリからWebのような一つのWindowで画面が遷移するタイプへの移行ってのも在るのかもしれんね
実際Windowをやたらと開かないタイプの方が遥かに使いやすい -
>>719
ありがとう、今日試してみたらうまくバインドできたよ
自己流であまり綺麗じゃないかもしれないが
ただ、今度は画面のレイアウトがうまくいかない…
canvas使ってペタペタやれば出来るのかもしれないが、せっかくだからもっとうまくいくやり方でやってみる -
>>748
バカじゃないけどたくさん覚えるのは面倒だから金のハンマーが欲しいわ -
>>751
そもそもメインフレーム時代はマルチウィンドとかなかったりしたしな -
>>754
テキストベースのポップアップウインドウもどきは有ったぞ -
金のハンマーでは釘を打てないと思うw
-
>>756
豆腐になら打てる -
>>748
暗記は馬鹿文系の得意技。おまえもそっち系だな。 -
さすがにそれはない
-
ちょまど神への信仰が足りないから争いが起きるのです
-
新興宗教の神など信仰でけんわ
-
テンプル騎士団かな?
-
ちょまど神は、可愛くて漫画がプロ並みでプログラミングも出来るがオタクだな。
中川しよう子と同じ香りがする -
>>764
いつも思うけど、公人でもプライバシー売ってる芸能人でもない一般人に粘着する奴って
ストーカーと同じ。気色悪いわ。他人の前に自分自身をよく見てみろ。
自分で自分をおかしいと思わないなら、あんた人間として壊れてるよマジで。
言っても無駄だと思うけど。 -
馬鹿にしていた文系に負けたとか、
嫌な思い出でもあるのでしょう
触れなさんな -
xamarinで調べごとするとチンポ騎士団が嫌でも目にはいるのが厄介
-
環境毎捨てるしか無いな
-
覚えらないからWPF使えないと思っている馬鹿がいるようだが、
単にWPFは使い物にならないから使われてない。WPFを理解すれば分かること。
ゴミすぎてもう消えることは決定している。 -
問題ないとは言わんが、回避できない問題山積ってわけでもないだろ
どうせ口だけで具体的に何も指摘できないんだろうねw -
標準でVからVMのメソッドに直接バインドできたらいいのに
-
データバインドがようやく分かってきた
これがあると飛躍的に出来ることが拡がるな -
>>774
便利だろ -
下記コードは選択中にツールチップが表示されますが、
選択された後にコンボボックス上でツールチップを表示させることは可能でしょうか?
以上よろしくお願いいたします。
<Grid>
<StackPanel>
<ComboBox Width="100">
<ComboBoxItem ToolTip="This it tool tip for item 1">This it tool tip for item 1</ComboBoxItem>
<ComboBoxItem ToolTip="This it tool tip for item 2">This it tool tip for item 2</ComboBoxItem>
</ComboBox>
</StackPanel>
</Grid> -
>>776
<Grid>
<StackPanel>
<ComboBox
x:Name="ComboBox1"
Width="100"
ToolTip="{Binding SelectedItem.ToolTip, ElementName=ComboBox1}">
<ComboBoxItem Content="This it tool tip for item 1" ToolTip="This it tool tip for item 1" />
<ComboBoxItem Content="This it tool tip for item 2" ToolTip="This it tool tip for item 2" />
</ComboBox>
</StackPanel>
</Grid> -
>>751
当然GUIではないが、SASは実現してたね。
しかもWin3.1が出てきた時代には、
メインフレームのマルチウインドウプログラム<=>Win3.1のGUIで
互換性を保っていた。
他のソフトでは見たことないけど。 -
MVVMの勉強を行なっているのですがコマンドってどう扱えば良いでしょうか
元々プログラミング自体勉強し始めたばかりなので初歩的な部分で理解できていない部分もあるとは思いますがサンプルを見てもどれも違った作り方をしてて動きも全くイメージが掴めません…
あるボタンを
command ={Binding testbutton}
とした場合、ボタンを押した状態はtrueやfalseも入っておらずどのように処理を記述すれば良いのか分かりません…
例えばボタンを押したらメッセージボックスを出すだけの単純な物を作ろうとした時に
コマンドを使わずクリックイベントで処理するなら
-viewmodel-
private void button(object sender , RoutedEventArgs e)
{
model.test();
}
-model-
public void test()
{
MessageBox.Show(Test);
}
これをコマンドに置き換えるとどういう形になるのでしょうか?
答えにくい質問で申し訳ありませんがよろしくお願い致します -
>>780
とりあえずRelayCommandでGoogle先生にお伺いを立ててみよう -
一番かんたんなのはICommadを実装したクラスを用意する
だがコマンド毎にクラスとか毎回手間すぎて禿げるので
DelegateCommandやRelayCommandを作るか作ってあるものを利用する
これはMVVMフレームワークごとに呼び方が違うだけでやりたいことは一緒
https://ideone.com/D0rrm7 -
コマンドを使うとコードをVに書かないで済む
ただ…
イベントと比べると
コマンドは送れる情報量が少ない
コントロールに目的の動作に対応したCommandプロパティがあるとは限らない
VMがとっちらかる可能性がある -
いまさらWPF勉強はじめたけど凡人には敷居たかいわ;;
いや年とったせいかな、いつもどおりデバッグしてF5、デバッグしてF5とえんえんとやって覚えていくんだが
おれ何十年おなじことやっとんねん、と考えると何とも以遠気分になる
でもたのちい -
Name付けまくればFormsと同じ
-
>>782
わざわざ作って頂いて本当にありがとうございます
質問なのですが
class ViewModel
{
FooModel fooModel = new FooModel();
public ICommand testbutton { get; set; }
public ViewModel()
{
testbutton = new TestButtonCommand { model = fooModel };
}
}
以下の行はどういう意味なのでしょうか?
testbutton = new TestButtonCommand { model = fooModel };
また
class TestButtonCommand : ICommand
{
public event EventHandler CanExecuteChanged;
public bool CanExecute(object parameter) => true; // ←ここをfalseにするとボタン押せないのを確認する
public void Execute(object parameter)
{
model.test();
}
ボタンを押した際に特に何も指定していない以下の部分がボタンの状態を確認しているのでしょうか?
自分の頭が悪過ぎるのもありますがやっぱり難しいです…
public bool CanExecute(object parameter) => true -
>>786
ボタンはコマンドのCanExecuteの戻り値を見てボタンの実行の可否を判断してる
当然ながら状態変わったと通知しないと変更されても気づかない
というか普通にググって順番に見て言って ” 勉強 ”してからわからないことを聞いたほうがいいよ
入門者の数だけみんなレスしないといけない
ここはそんな場所じゃない -
今からでも止めた方がいいんじゃないかと思うな
-
WPFの難しさの理由
・柔軟なレイアウトが可能だがそのルールが理解しづらい
・MVVMを生かすための仕組みが複雑
・デバッグしづらい -
そうは言っても
WPF一度でもやると
Formには戻れなくなる不思議 -
慣れればね
-
winformsに戻れないことはないよ
使い道次第で使い分ければいい
WPFはrichtextboxが絶望的にダメだから
winforms使う -
textboxを二〜三個はって数値入れてボタン押して実行
ログを延々出す用途だとWPFは使いたくない -
レイアウトはそんなに難しくないね
やっぱり保守性(可読性)の悪さと、パフォーマンス的にGDIの置き換えが
不可能な分野があるのは痛いね
一時期勉強してたけどこれで一気に萎えた
こんなの絶対に普及しないと確信したし -
ゲームエンジンでギョーミーなアプリ作ってる人いますか?
-
”ギョーミー”...センスゼロな造語だな
-
保守性って言うけどhtmlと大して変わらんと思うけどな
-
一般論としては訳分からんジャーゴン使いたがる人は群れたい人だね
ジャーゴンの機能ってそれを使うことで同じ村の村人の一員であると感じさせることだから
それがいいか悪いかしらんけど、俺個人は気色悪いし嫌いだねこういうの -
it業界はワケワカラン用語ばかりさ
-
そういえばWPFって3D機能あるけど使ってる奴いるのかな
業務でやらされたら悪夢だね -
3D使うならブラウザ上のほうがパフォーマンス高いよ
開発の情報も多いし
WPFの3Dはおまけ機能だから -
>>799
ジャーゴンというジャーゴンを使って気色悪いし嫌いと宣言するセンスワロタ -
ジャーゴンって言うか
死んでる? じゃあ、他の生きてるの全部殺して再起動しろ
なんて会話が飛び交う業界だしw -
明日は半殺しにしようか(おはぎ)
-
サービスで八分殺しにしておきますか
-
XAMLをexeの外に出しといて
実行時にLoadするやり方って一般的? -
要件次第
-
visual studio !
-
xamlを動的に生成、もしくは読み込ませるのはFlowDocumentを作りたいとき
具体的には印刷プレビュー -
今さら気付いたんだが、デバッグ起動でウインドウを表示したままxamlを編集すると
リビルドなしにそのままデザインが反映されるのな
デュアルモニターなら作業はかどる -
xamlで余白の多い文字(例えばm)などの余白部分を切り取って
矩形で切り出したいんだがやり方分かりませんか? -
mって余白多いか?
・の余白が多いなら分かるが -
フォントを変える
-
ymW
確かに上にも下にも余白がある。
ペゾルトの本に書いてあった気がするけど何か名前もついてるんだよねこれ
こういうのWPFの守備範囲と違うような気がしないでもない。知らんけど -
WPF フォントで検索しようとしたら
「ふ」を入力したところで「普及しない」ってサジェストされたぜ
悲しいね -
さすがにもう10年以上経ってるんだから「普及しなかった」でいいだろ
そろそろ楽にしてやろうぜ -
UWP 普及しない
-
ストアに出すソフトのロゴをwpfで書いたんだが、結局merginをマイナスにしたりViewBox使ったり
力技でなんとかやっつけましたわ
画像処理あまり知らないんでこういう時ホント困ります -
Inkspaceじゃだめなん
-
WPFレイアウトの問題はともかく
グラフィック扱うならそれ用のソフト使えばいいのに -
もともとストアアプリを作りたい人以外には制約が多いだけの仕組みだしな。
けっこう強引に誘導してたのに、Windows Mobileが無くなるなら梯子外されたようなもんだ。 -
梯子のないガケを登っただけです。
-
UWPはプロセス間通信できないとかファイル操作に制限がありまくりとか致命的すぎる。
DBMSプロセスと通信が出来ないんじゃギョーミーアプリが作れん -
PCでアプリ作るならこれで作れ、というものを作らないとな。
WPFの分かりやすいやつというかUWPの制限緩いやつというか。
今のMicrosoftはまったくビジョンがない。 -
ビジョンはあるんじゃない
見当外れのやつが -
WPFがわかりにくい、面倒くさいって印象は、標準のフレームワークの機能不足もあるように思う。
TreeViewで選択されたTreeItemを取得するのに、単純にBindingできりゃよかったんだが
それができないんで面倒くさい添付プロパティ書く羽目になるとか。
MSにしてみれば「拡張する手は用意したから基本機能は多少不足しててもいいだろ」ってことかもしれんが。 -
>>829
ビジョンはあるでしょ
・業務アプリはWebへ完全移行
・ネイティブアプリはコンシューマ向けのWebサービスのクライアントだけが残るので、それに特化したシンプルなプラットフォーム(UWP)があればよい -
Webで全部というのは無理がある
エクセルオンラインもオンライン会計もオンライン顧客管理も嫌がる
できるのはせいぜいメール仕訳とグループウェアで会議室予約
それに付随する週間売り上げレポート自動作成くらい
これらは集約された鯖に常時接続が効率いい
そのサーバーもCSVで出力してくれ、アトハエクセルデヤル、が常套句だったりする -
ビジョンつっても基本的にアレなんだけど、MFCからしてアレな出来だったし
WinFormsはDelphiからの輸入だし、なんつーか -
マカーみたいなこと言うなよ。
-
TextBlockで事足りるから使うまでも無いかな
-
Editしたい人は見なかったていでw
-
RichTextBox 上の選択範囲に、TextSelection.ApplyPropertyValue() で FontStyle を適用した時の現象について
https://blogs.msdn.m...ertyvalue_fontstyle/
WPF の RichTextBox コントロール上の現在の選択範囲に対し、TextSelection.ApplyPropertyValue() で FontStyle を適用して修飾した場合について、二つの現象をご案内します。
・現象 1.
RichTextBox.Selection プロパティに FontStyles.Italic スタイルを適用しても、RichTextBox 上では Italic スタイルで描画されません。
・現象 2.
RichTextBox 内の文字列の最後尾にカーソルが存在する状態で、RichTextBox.Selection プロパティに FontStyles.Bold スタイルを適用した後、そのまま続けて全角文字を追記すると、追記した全角文字に Bold スタイルが適用されず、Bold スタイルで描画もされません。
対処方法
WPF の RichTextBox の代わりに、WinForm の RichTextBox や、Win32 の RichText または MFC の CRichEditCtrl のご利用をご検討ください。 -
>>840
現象1はWindows 10なら問題ない。 -
下記のhogehoge〜の部分に
TextTrimming="CharacterEllipsis"
の効果を適用したいのですが、可能なのでしょうか?宜しくお願い致します。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" MinWidth="100" MaxWidth="200"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TreeView Grid.Column="0" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<TreeViewItem IsExpanded="True">
<TreeViewItem.Header>
<TextBlock Text="hogehogehogehoge" Margin="5,0" />
</TreeViewItem.Header>
<TreeViewItem>
<TreeViewItem.Header>
<TextBlock Text="hogehogehogehoge"
VerticalAlignment="Center"
TextTrimming="CharacterEllipsis" />
</TreeViewItem.Header>
</TreeViewItem>
</TreeViewItem>
</TreeView>
<GridSplitter Grid.Column="1"
Width="1" VerticalAlignment="Stretch" HorizontalAlignment="Center"
Background="DarkGray" />
<Label Grid.Column="2"
Background="LightGreen">R</Label>
</Grid> -
DataGridのセルで文字列を自動的に折り返しさせるにはどうすればいいですか?
-
できました
失礼しました -
どうでもいいけど自己解決したときはその方法を書いておいてくれると同じ疑問を持った他の誰かが見たときに役立つよ
-
WPF会社で使おうとしたけど情報少ないわ複雑だわで断念した
WinFormがやはりシンプルで良いな
特にビットマップの扱いがWPFは不便すぎ -
ListBoxの行のマウスオーバーおよび選択時において、
背景の色を赤に変更したいのですが、どのようにしたら良いでしょうか?
下記のコードだと、フォントのサイズは変更されるのですが、
背景はデフォルトのままです。
以上よろしくお願いいたします。
<Grid Margin="5">
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBoxItem Content="item1" />
<ListBoxItem Content="item2" />
<ListBoxItem Content="item3" />
</ListBox>
</Grid> -
>>850
コントロールテンプレートじゃなかろうか
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="FontSize" Value="15" />
</Trigger>
</Style.Triggers>
</Style> -
>>851
回答ありがとうございます。
おっしゃる通りコントロールテンプレートでした。
https://blog.jsinh.i...in-wpf/#.WijFpEpl-Ul
上記のページを参照したらクリックの挙動もうまくできました。 -
これからWPFを勉強しようと思うんだけど、どうやって学習すればいいの?
なんか情報がめっちゃ少ないんだけど -
>>853
あなたには向いてない、止めといた方がいいよ -
>>854
同意する -
WPFじゃなくてもUWPから勉強しても問題なし。
基本となるデータバインディングやらXAMLやらMVVMの考え方はほぼ共通だし。
コントロールとかXAMLの表現能力とかは違うけど、大した差じゃない。 -
別にUWPの情報の方が多いとかは言ってないからね。
-
>>854
向き不向き関係無く、WPFかUWPしか、これからは選択肢が無いとオモ。 -
WinFormは高dpiにも対応したし
過去の死産が沢山あるので永遠に不滅です -
不運長久
-
WPFのRichTextBoxってFormの時より性能(できる内容等)良くなっていますか?
テキストの扱いが、フロードキュメントというものにアクセスしないといけないとか
仕様が変わっているので、学習コストに見合うものか見極めたいのです。 -
UWPのまともなチュートリアルがない
あっても実用レベルじゃない
画面の遷移とかアプリの状態とかその変化のさいのデータの保存とか共有とか
いろいろ知らないといけないことが多いが適切な学習方法がない
本屋に売ってる本もそういう所には触れてない
ボタンを押すと文字が変わるとかいうレベルじゃアプリは作れない
windowsストアアプリのころはまともなチュートリアルがあったのに -
windowsストアアプリのころはこれでもかと言わんばかりの
かなりいい仕上がりの本が多かった
でもニッチな需要だったのであまり売れなかったみたいだ
UWPになってからいい本が出ないのはある意味windowsストアアプリのせい -
図書館にC#の絵本が入ってて泣いた
-
なんだ〜 ? いい本待ちって、どんだけ他力本願なんだよ?
英語サイト読め! アホ共が・・・ -
最近はググるとstackoverflowが上位に来て邪魔だ
英語でえんえん議論して結果できませんでしたみたいな最後とか多くて邪魔
しかも内容が正確じゃない場合も多くて困る
昔はダイレクトにこうしろみたいなサイトが多くヒットした -
>>871
上人様、我々凡夫に良い英語サイトを教えてくだされ! -
>>872
Stack Overflowで延々と議論して結論が出てない事の方が稀だけどねぇ。。
MSDNフォーラムは延々と揚げ足取りが続いて何の答えも出てないことは多々あるが。
と言うかMSDNフォーラムは英語も日本語も箸にも棒にも掛からぬ -
StackOverflowは重宝している
-
え、あのうざいフォーラムモデレーターはもう検索しても出てこないの?
うそー -
>>868
普通、学習するのが後になればなるほど情報が増えて、
高速道路を走るようにあっという間にキャッチアップ出来るんだけど、
WPFは先人が切り開いた道が誰も通らないから荒れ果てて、自分で道を切り開かないといけないパターンか -
>>877
StackOverFlowは優秀な削除人が居て役に立たないゴミスレを抹消してるらしい -
xamlが障壁だろうね、htmlのようなものと言っているうちは標準で用意された動作しかできない
何でもできるのはすごいけど可読性が悪い -
XAML をいじるツールが HTMLの WYSIWYGツール程度しか容易されてないよね
細かくパラメータ指定はできるけど、XAMLの知識前提だし、
それならXAML直接いじったほうが早いという -
xamarin formsのビュワーはクソすぎる
-
Blendでいじるのは限定的で大半はインテリセンスとエディットコンテニューでなんとかなってる感じ
つかエディットコンテニューもっと早くつければよかったのに -
ちょまど神への信仰と喜捨が不足しているのです
-
それ以前にWPFやUWPの仕事なんてあるの? 俺っちのところはWinFormしかねぇぞ。
-
家も無いな
-
俺の知ってる普通は何を使うかなんて聞いてこないけどな、分からない任せるの一点張り
前任者が良くない理由で辞めていてその引き継ぎ案件なら指定あるかも知れん -
俺はXAMLは良いと思うが、人それぞれだなぁ。
いちいちデザイナーでレイアウトしてプロパティペインでちまちま設定しなきゃならんFormsにはもう戻りたくない。 -
XAMLも全部ダメとは言ってない
エディタで書くことができるという方向性はたぶん間違ってなかった
問題はデザイナーを使うだけの層が置いてけぼりになった点だと思う
XAMLを勉強してWPFをマスターして次々とWPFでアプリ開発する開発者だけなら問題なかったが、
XAMLを勉強したいんじゃなくてアプリを作りたいって層は、
XAMLを習得するコストとWPFの将来性を比べて既知の WinForms に行ってしまうよね -
Formsと同じようにポトペタ開発だってできるだろ。それこそXAMLに直接触らなくても。
Formsと違うからハードルがあるってことならそりゃ当たり前w -
XAMLとWinForms、まるで真反対かのように言ってる人って使ったことないかまったく理解してないかだろうな。
-
WPFでXAMLなしでポトペタ開発できるっていうのは詭弁だろ
XAML書けない人はWPF使える人とは言えない -
つか、Gridレイアウトだけ覚えたらformレベルの用途なら後は何とか成るんだから
それぐらいは勉強しろよとは言いたいな
html知っていれば小一時間でなんとかなる代物だ -
Head FirstとMicroSoft公認の黒くて分厚い本がWPFにあればもっと普及したのではと思う
-
gridってスプリッタ―使うのも一苦労なんだが
非常に使いにくい -
原理主義でちょっとしたことを簡単に実現できなくしたのがいまいち普及しない理由だろ
-
大体はGird過激派グループとStackPanel同胞団のどちらかに属する
DockPanelは意外と出番がない、順序で配置変わる仕様が変態くさいし -
もうボケ老人の繰り言状態だけど、だからWPやXAMLの問題は
保守性の悪さであって必ずしも書きづらいことじゃないってw
見える化ってバズワードがちょっと前に流行ったけど、その観点では
WPFは20年前のVBより退化してる
Formだったら他人の書いたコードでもせいぜいドキュメントアウトラインで包含関係を確認して
あとはFormデザイナでコントロール選択してプロパティーグリッドみれば
一目瞭然でだいたいどうなってるかわかるけど、これがWPFじゅ全然そういう訳にいかない -
まーでもWinFormsで実現できる程度の見た目で良かったらWPFでもデザイナ使ってぽとペタでできるよね。
WPFとかだとItemTemplate使って出来るようなこととかやりだすと、追いづらくなるのは確かだけど、それはWinFormsだとオーナードローとかになってくるから、より追いにくくなりそう。 -
>>897
DockPanelは、Gridよりコード量が少ないので結構使うけど -
Pro WPF 4.5 in c# 押し(PDFもころがってるし)
-
WPFが普及しきる前にストアアプリやUWP推しにいっちゃったからねぇ。
ペゾルド本を出してくれていたらよかった。 -
最初で躓いたやつの愚痴ばっかりだな。
新しいことや、他のOSでの開発も出来ない連中ばったりだろう。 -
最初って何にもなかったから脱落してもおかしくなかった
MVVMのフレームワークもない
WPF自体も段階を経てレベルアップしていった
今みたいに恵まれた環境じゃなかった -
mvvmのせいで普及しない
-
それよりも逆にUWPの未来が見えないんだが。Windows Mobile撤退したらもう存在意義ないんじゃね?
-
出来てた割にはメモリリークとかメッセンジャーとかの問題で数年停滞してたじゃないか
ビヘイビアとかいろいろやってたじゃないか -
RoutingCommandって何だよ、RoutedCommandじゃねえの
最近はCaliburn.Microにしてるからコマンド書かずにメソッドだけで済ましてる -
mvvmはlistboxなどをバインディングで使うときなんか最悪だよ
選択がかわったことなどのVMがめんどくさい
その点Vのイベントは楽でいい -
WinFormsに続いてWPFもすでに飼い殺しモード
Mobileがポシャって将来の展望が見えないUWP
どうすんだろうねほんと -
>>916
え、VisualStudio自体もElectronかい? -
Mobileは死んだけど、Hololensとか新機軸のデバイスの展開も見据えると
Win32だけのままじゃダメってのはわかるし個人的にUWPはUWPで続けてくれて良いんだけどね
Desktopをおざなりにするどころかユーザーや開発者に劣化環境を押し付けてくるのが最高にうんこ -
Hololensなんてごみじゃん
ただの流向 -
WPF版のペッツォルト本なかったっか?
-
大多数の人がしたいと思ってることが簡単にできないとダメ
画像の表示一つで首かしげるようなものじゃダメ、普及しない -
MVVMで組まなきゃ駄目って空気を醸し出してしまったのが敗因かな。
-
10年後にはJava FXに負けてるかな?
-
もしかしてWinFormの地位が確固たるものになった? WPFとUWPのおかげで・・・
-
>>925
うん5年後に答え合わせをしようよ -
>>925
vb6.0のおかげです -
>>926
それ5年前に聞いた -
>>904
ただの無能の愚痴ならいいんだが事実、ゴミだったからな。 -
無能「事実、ゴミだったからな。」
こういうこと? -
そういう事
-
>>933
Flexの方が設計は良かったね -
>>892
普通にできる -
コントロールにName付けてコードビハインドで使えば
WinFormsと同じスタイルで開発できる事を知らない人が多すぎる -
それをMSと取り巻きが広めるべきだったな
-
XAML覚えるのだりいいいい
バインディングまわりとか試行錯誤せんとぜんぜん覚えられん
めんどくせええええwww -
当時MVVMを宣伝した意識高い系連中ってもうほとんど残ってないからな
みんなASP.NET MVCやCoreへ移行してしまった
今入ってきた初心者は当時の意識高い記事に圧倒され、相談に乗ってくれるコミュニティも見つけられないまま去っていく -
俺は意識低い系だから普通にポトペタでダブルクリックして
イベントにコード書きまくりだねw
動けばいいや -
宣言型だからさ
ルール覚えるの大変やん
WinFormsならアホの俺でもイベントべた書きすりゃ何か動いた
そっから少しずつ間違いなおして、コード書き足して・・・ってやっとった
XAMLはルール間違うとうごきもせん
しかもてつづき型とちがうからどこで間違ったのかもよくわからんwwww
一晩でおぼえられるIQをくれwwww -
>>940
MSのコードサンプルもブログで見かけるコードサンプルも
コードビハインドとのバインドとイベントベタ書きが多いけどね。
MVVMで書くとWPFの本質以外のコードが増えて
サンプルにならなないからだと思う。
MVVMはXAMLとバインドがちゃんと使えるようになってから
必要に応じて使えば良いと思うのさ。 -
>>936
つうじてないみたいだからいいよ -
WinFormsのバインどよりずっとむずいやんXAMLのやつ
まあ俺はまだリストボックスまで行ってないからよく知らんけどな!
今日もMSDNのドキュメント読むやで〜 -
あいあyまあ
なんかワイ論点を間違えてたな
バインド自体はええねんで楽で
XMALがむずい!ワイのいいたいことはこれだけや!ほなな! -
x:Bindをwpfに持ってくるだけで、問題だいぶ片付くんだけどな
ミスったらコンパイルエラー出るし、イベントもバインド出来る
何故かUpdateSourceTriggerが指定できないのは問題だが -
UWPって、10年後にもあるの?
それがいちばん重要なんだけど -
WPFは10年以上存在したよ
-
>>952
ストアアプリと同じ運命をたどる可能性の方が高いと思う... -
今後も何か作る時は、Android用アプリ+iOS用アプリ+Webアプリって流れになっちゃうのかな?
「Windows用にUWPで作りましょう!」なんて案件ねえぞ -
UWPが普及するとすればWindows7がお亡くなりなってからかなぁ
-
>>956
ヒント: WPFは「XPが死滅したら普及する」と言われていた -
surfaceの普及も忘れてたわw
-
10年経ってこの情報の少なさは異常だろ
みんなForm使ってるの?それともWin32API? -
>>952
WPFはMSが使わなかったのにある?から、MSが使いまくっているUWPはめっちゃある。 -
みんなMFCかもしれないしWTLだったりするよ?
-
天下のWindowsなのに肝心のAPIがこんなグダグダじゃなあ…
林檎さんに置いていかれるわそりゃ -
(Formと比べて)機能が制限される物に作り直しましょう。
予算下さい。って提案書書けるか?
またそんな提案通って、予算付くか?
予算が無ければ世界は動かず -
ボタンの中に動画出せます!!
-
いい感じのデザインでボタンが表示できますよ
-
> 肝心のAPIがグダグタ
己が使いこなせていないだけ
> (Formと比べて)機能が制限される
己が知らないだけ
嘘八百を平気で並べられる人ってどんな性格をしてるんだろう? -
>>968
レスを意図的に切り貼りして意味を捻じ曲げる典型をひとつのレスでふたつ見た
レスをよく見てないんだろうが感情に任せて条件反射しすぎ
APIがグダグタという元レスは機能面じゃなくて(含めていってるかは知らん)普及促進とか広い意味で言ってるんだろ
己が使いこなしても普及促進にはやくに立たん
「 (Formと比べて)機能が制限される」の元レスって
「 (Formと比べて)機能が制限されるものが作られるわけはない」という主張なんだが、
文章を斜め読みしすぎ、怒りに任せてレスの主張するところすら誤解してる
嘘八百が書かれていると感じたら本当にそう主張してるのか文章をよく読み直すべき -
WPFはformsより提供されてるAPI不足してるのはいくつもあるよ
ぱっと思いつくのはマルチディスプレイの場合のウィンドウがある画面のサイズ
その都度System.Windows.Forms参照してる
WPFは最初はフォルダダイアログもまともになかったし他の機能もすっかすかだった
何も作れない
4〜5年たってもできてないのでそんなもん5年もかけて作るものかよって思ったけど -
またジジイの繰り言だけど、GDIで普通にできることができないのも痛かったよね
あと、こっちはやったことないが、
WPFってGDIみたいにディスプレイ画面と印刷を透過的に扱えないんじゃなかったっけ -
>>970
雑魚過ぎてお話にならないレベルw -
>>971
また嘘つき発見
こりないねえww
GDIで普通に出来てWPFに出来なくて困った事なんて今までなかったなぁ
逆のパターンは便利過ぎて困るくらいあるw
印刷の透過性は何を指してるか不明だがWPFはWYSIWYGなんでこれまたスゲー便利だよ?
自分の無知を晒してるだけの人って一体何なの?? -
試しに、XPSをWMFに変換するアプリをに変換するアプリを
書いてみなされ
Form無しでな -
データ変換にFormsもWPFも関係ねえ
頭大丈夫か? -
>>973
嘘つきじゃないってw
WPFのグラフィックは(保持モードしか扱えないのが原因だけど)パフォーマンス上の問題があるって
このスレでも何度も出てるでしょ。
っていうか、画面と印刷を透過的に扱うって聞いて意味が通じないレベルの人が
WPF推しても説得力ないよそれ -
WPFはFormのライブラリ使えるんだから気にすることでもないと思うけどな
RichtTextBoxもそうだけど
いざとなればWindowsFormsHost使えばよい
なんでもNativeでないと気が済まないというのは原理主義的で身体に悪そう -
NativeMethods.csがふえるよ!やったねたえちゃん!
-
>>976
パフォーマンスは回避策有
これも何回も出てきてる
何10列もある何百万件も表示したいアホは知らん
画面と印刷を透過的に扱うなんてGoogle先生に聞いても意味不明なオレオレ定義を自慢されても知らんよ
ちなみにWPFを推してるつもりはない
無知な嘘つきが嫌いなだけ -
回避策知らないといけないレベルのパフォーマンスだったり、
Formのライブラリ使わないといけないくらい機能が揃ってなかったりしたから
失敗したんだけどなw -
回避策が必要なのはアホみたいな列数と行数の時だけ
それをあたかも「いつも」みたいに吹聴するのは悪質な嘘つきの典型
使わないといけないも同じ
卑怯にも程がある -
逆に困った人がいたケースをそれは例外と切り捨てるのも
問題があると思うぞ
単にプログラミング対象が異なっていて、
自分が問題に遭遇してないだけとはなぜ考えないのか -
大きなメリットを理解(出来ないではなく)しようとせずに重箱の隅をつついて全体的な大損をするもそれに気がつかない
今の社会の病理の一つを表してる気がする -
Q「〜〜がわからない」
A「英語のサイトに書いてあるから探して読め」
Q「英語読めないからどこにあるか探せない」
A「探す気も読む気もないだけだろ帰れ」
こんなんで普及する訳ないわな
最新版に近い日本語の参考書・入門書・解説サイトを出さなきゃ、わざわざWPF使おうとする奴は増えんよ -
お高く止まったリベラルが選挙で負ける様子に似てるな
-
>>979以外の人に聞くけど、GDIでは画面も印刷も透過的に扱えるって聞いて
意味分からん人いる?
っていうかDCの概念も知らない人が何言っても戯言にしか聞こえんよねw
WPFのグラフィックのパフォーマンス問題はこのスレでも何度か出てるし
ググれば実例がいくらでも出てくる -
物がいかに良かろうが
12年間普及してない普及努力もしてないんだからニートだろ
ニートだからニートに優しいのか? -
>>979
さすがに透過性も知らないようなアホではそんな頓珍漢な解釈になるのもしょうがない
黙っててくれると助かるけどまあ無理だろうな
https://ja.m.wikiped...1%E5%B7%A5%E5%AD%A6) -
>>988
透過性は誰にでもわかるだろw -
>>991
書き方悪かったな
「印刷の透過性」 = 元の「画面と印刷を透過的に扱え云々」 の意味
一般的な透過性は解る
印刷の(画面との)透過性は意味不明
マジ何言ってるか解らん
推測したようにWYSIWYGの事言いたいのか? -
割と面白いのは、誰も説明する気ないのな
普通こういう場合は誰かがムキーーって頭に血が上って説明し始めたりするんだが
平均年齢が高いのか華麗にスルー
流石説明しても何の得もないことが良くわかってらっしゃる
その調子でお願いします -
>>992
ぷぷっ、今更推測とか言い出したぞ w -
>>986
で、でーたせんたあ -
ちなみに帳票を作る時にGDIはDCをこねくり回さなければならないがWPFはXAMLで完結する
こんな事は当然知ってるだろうから透過的にの意味が分からんのよ -
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 216日 14時間 40分 18秒 -
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
↑今すぐ読める無料コミック大量配信中!↑