TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【PHP】下らねぇ質問はここに書き込みやがれ 10
【普通のやつらの】 Arc Language 0 【上を行け】
一般的な処理を関数型の書き方をすると遅い
国産オープンソースDIコンテナSeasar2 その16
Visual Studio 2017 Part6
集合論に基づいた言語を作りたい
ふらっと C#,C♯,C#(初心者用) Part137
DarkBASIC
【SICP】計算機プログラムの構造と解釈 Part3
HSP総合スレ【part 10】 [無断転載禁止](c)2ch.net

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part19


1 :2015/04/10 〜 最終レス :2016/03/16
ユーザーインターフェイスシステム、Windows Presentation Frameworkについて語るスレ。

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

前スレ
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
http://peace.2ch.sc/test/read.cgi/tech/1410523389/

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

Windowsストアアプリ開発について語れ part2
http://peace.2ch.sc/test/read.cgi/tech/1388921236/

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

2 :
2ゲット

3 :
 〜 終 了 〜
 

4 :
今年はWindows 10とVisual Studio 2015が出るけど、WPFへの移行は進むのかな。

Windows 10が業務タブレットで利用できるようになれば、日本のタブレット向け業務アプリ開発は、
ブラウザベースから、WPFかWindows Formsの割合が増えると思う。

何をどうやったところで、ネイティブアプリの方が、起動も動作も入力作業も圧倒的に速いから。

5 :
ああ、そうだな。
そんな未来が来るといいな。

今のMSに期待できるものがあるか?
俺は

6 :
PrismのTriggerActionをつかってListBoxのScrollToTopを実行しようと思ったんですが
TriggerActionにListBoxのインスタンスを送るために、依存関係プロバティーで飛ばそうと思ったんだが
<prism:XXXTrigerAction ListBox={Binding ....} />と書くときのListBoxの指定方法がわかりません
Binding ElementName=だけだとNullになるようで、どうしたら良いのか教えて下さい

7 :
質問です。
pList As New ObservableCollection(Of cItem)
こんな感じで独自クラスのコレクションを宣言して
DataGrid.ItemsSource = pList としています。

AddするとDataGridにも反映されるので便利なのですが、
このグリッドにDBから検索した結果を表示させると、
1行追加毎にイベントが発生して遅くなるのでは、と思い、
DB読み込みの前にイベントの発生を止め、
読み込み後に再度イベントを発生させれば改善されるのでは、と考えました。

このイベント発生停止/再開って可能でしょうか?

8 :
まず第一に、遅くなるのでは?と思っただけで改善に着手する君の頭を改善する
あとはObservableCollectioを継承してOnPropertyChangedとOnCollectionChangedを止めたらいいんでね

9 :
wpf suspend databindingでググったらそんな回答ばかりでした

10 :
ObservableCollectionをちょいといじってイベントを投げないAddRangeを自前で作る。
デフォでAddRangeが無いのは、そーうゆ事なんだろうと。

11 :
なるほど、ありがとうございました
手抜きできるかなーと思いながら質問してみたんで、
まっとうな方法で試してみます

12 :
多分ものすごく頑張っても、その視点では大して速度変わらんと思うよ
仮想化しているから表示している行の分しかイベント処理しないし

13 :
これ難しすぎないすか?

1行目の9列目がパースエラーになってて
でもどこが悪いのかわかんねーから
同じxamlファイル名で作り直してもまだ同じとこでパースエラー。
空ファイルなのに?信じらんねー

14 :
プロジェクトだかソリューションのクリーンを試してみて
たぶんキャッシュに反応してるんだろ

15 :
>>13
適当に編集 (空の行増やすでもなんでもいい) して保存、元に戻して再度保存したらなぜか動くかも。

16 :
wpfでおすすめの参考書
か解説サイトってある?
ちなみにwpf入門でググルと上位に出てくる
@itの解説だとよく分からないぐらいのレベルです

17 :
残念ですが、オワコンなのでありません
終わったって言うと、始まってすらいないなどとツッコミが入るところとか、特に終わってますね

18 :
てか、@ITの解説ってホント何も知らない初心者向けだし、
俺も最初はそこから始めた
あれでわからないってのがわからない

19 :
@ITは確かにレベルを低めに狙っているけど
@ITだったら初心者が分かるはずというのは言い過ぎだ

20 :
public enum DataType { AAA, BBB, CCC, }
public class ViewModel
{
public DataType SelectedType { get; set; } // 実際は変更通知プロパティ
}

XAML
<ComboBox SelectedItem="{Binding SelectedType}">
 <vm:DataType>AAA</vm:DataType>
 <vm:DataType>BBB</vm:DataType>
 <vm:DataType>CCC</vm:DataType>
</ComboBox>

これでenum値を選択できるのですが、このままではenum値をToString()した文字列が表示されます。
ComboBoxにはenum値に対応した別の文字列を表示させ、SelectedTypeにはenum値が入る、というようにしたいです。
どういう方法がありますか?

21 :
ちょっと補足ですが、View側のみで何とかしたいです。

22 :
ValueConverterはViewだって誰かが主張していたような

23 :
早い話、XAMLだけでは無理だから
デザイナーにValueConverterだけは書いてと頼む
それがWPF

24 :
VC#2010 WPF .NET4.0ClientProfileで組んでいます。

NagigationWindowを使って3枚のPageを遷移する
ものを作っています。
Page1に設置しているButtonをクリックするとPage2へ、
Page2に設置しているButtonをクリックするとPage3へ、という動作です。

ここで、Page1 --> Page2 や Page2 --> Page3 において
Buttonクリックからページ遷移まで時間がかかることがあります。
(100%時間がかかるのではなく、4割くらいの確率です。かかるときは5秒ほどかかります。)

これを何とか抑止したいのですが方法はありませんでしょうか?
NavigationWindow生成時にPage1〜3のインスタンスを予め作る、
ということが出来れば良いのかなと思いましたが
ググっても見つかりませんでした。
宜しくお願いします。

25 :
>>20

Viewのみでって言ってるけどenumは定義していいんだよね。
だったらenum値と表示したいstringの2プロパティを持ったクラスは作っていいのか?
作っていいならそれのコレクションをプロパティとして作れば、後はXAMLだけ。
多分こんな感じ。

<ComboBox
ItemsSource="{Binding VMのクラスのコレクション}"
DisplayMemberPath="表示したい文字列プロパティ名"
SelectedValuePath="セットしたいEnum値のプロパティ名"
SelectedValue="{Binding 選択したEnum値を受け取るVMのプロパティ}"/>

26 :
<ComboBox SelectedItem="{Binding SelectedType}">
  <ComboBox.ItemTemplate>
   <DataTemplate>
    <TextBlock Text="{Binding Converter={StaticResource myConverter}}" />
   </DataTemplate>
  </ComboBox.ItemTemplate>
 <vm:DataType>AAA</vm:DataType>
 <vm:DataType>BBB</vm:DataType>
 <vm:DataType>CCC</vm:DataType>
</ComboBox>

としました。
Converterを適用するためにItemTemplate設定したけど、この方法でいいのかな?
(ItemContainerStyleの方でもやってみたけど、プルダウンの項目にしか適用されなかった)
ありがとうございました。

27 :
スレの上の方見てるとXAMLってオワコンで未来がないの?
HTMLに近い書き方でGUI作れるって聞いたから勉強してみようと思ったんだけど

28 :
未来があるって抽象的だな
何がどうなっていれば未来があると言えるんだ?

VisualStudioCodeではElectronを採用したらしいから
(http://blog.shibayan.jp/entry/20150430/1430328999)
WPFのクロスプラットフォーム化はされないと思うぜ
WPFをクロスプラットフォーム化できるなら
VisualStudio自体をクロスプラットフォーム化するだろうしな

29 :
・Windowsで動作すればいい
・今後機能の追加や改善が見込めなくてもいい
・多少気が利かないところがあっても広い心で許せる

くらいなら使えるんじゃね
俺も使ってるけどFormsよりはマシよ

30 :
自分用のアプリしか作らないのでFormより良ければ十分です
勉強してみる、ありがとう

31 :
Build2015見たけど…

WPFは終わってる

ここからは巻き返しがない
さよならだね!

32 :
どこにだ?
すでにお前には逃げ場などない!
このMSの罠に掛かったのだ!

33 :
>>26
enumにattributeでmarkup拡張

34 :
https://twitter.com/ufcpp/status/595858432177078272

office16プレビュー使ってみたけど
操作感が今まで通りでまずびっくりして、
buildの資料見てみたらUIだけXAML化して
95%くらいのコードはwin32版のをそのままとか書いてて
またびっくりした。

35 :
MS的にはXAMLを使っていこうっていう気はあるのね一応

36 :
嬉しいお知らせですね

37 :
XAML=WPFなの?

38 :
>>37
XAMLはSilverlight(オワコン)、WPF、StoreApp、Universal App(Windows 10)で使われる

39 :
Universal appが普及することに期待して
今後は業務アプリ作製に練習兼ねてWPF使おうと思う
が、これまでwindows formsしか使ってないから敷居が高いな
慣れればformsと同じような早さで作れるようになるのか?

40 :
>>34
Windows10専用じゃないだろうが、そうするとC# - C++/CLI - nativeC++の3階層でゴリゴリやってんのかな。
そのへん楽できるフレームワークができてるなら公開してほしいものだが。

41 :
今更そんなややこしいことするか?
C++/CXで作ってるってだけじゃないの

42 :
C++/CXってストアアプリ専用じゃないのか?WinRTなしで使えるんだっけ?

43 :
開発者特権で何か抜け道があるという流れ

44 :
おそらくそういうのがあるだろうから使わせろって話だろ>>40

45 :
XAMLじゃなくてHTMLで書けたら良いのになー

ASP.NET MVCかじりながら
WPFも覚えないといけないとか、
時間がかかり過ぎる。

46 :
>>39
自分は、WPFのDataGridが重すぎて、
Formに回帰した。

WPFは、MSが半分放棄してるような気がする。
Silverlightは完全に放棄されたしね。

47 :
DataGridは重いし機能面でも微妙
それでも後から追加されたコントロールなんだよね
.NET4まではあれすら標準には存在しなかったんだぜ
WPF Toolkitに含まれたのも2.0のSPが出たころでさ
最初はListView.ViewにGridView設定してやるくらいしかなくて
これがまた…

48 :
補足しておくと.WPFとNET3.0が世に出たのは2006/11
WPF ToolkitにDataGridが含まれたのが2008/08

49 :
>WPFにおいても安定性やパフォーマンスの向上が図られた

Microsoft、「.NET Framework 4.6」のリリース候補版を公開
http://www.forest.impress.co.jp/docs/news/20150508_700968.html?ref=rss

50 :
>>34
XAML化にもいろいろあるからなあ

多分binding使わないでゴリゴリ書いたんだろうな

51 :
>>46
Universal appsならともかくWPF自体には既になんらメリットないもんな
マイクロソフトもやる気なくてchartコンポーネントの開発停止しちゃってたりして酷い

52 :
WPFの普及に失敗したってのはよくわかるんだけど、結局Windowsアプリの主流は今もWindowsformsってことなの?

53 :
パフォーマンスさえ何とかしてくれたら他の欠点は我慢してWPF使うんだけど

54 :
何をもって主流というのかにもよるが数なら今でもWin32ネイティブが一番多いと思う

55 :
WPFを切るなら切るでデスクトップアプリ用のUIフレームワークを
ネイティブでも.NETでも良いから新調しやがれってなもんだがの

Build 2015で既存のデスクトップアプリをClassicなんて呼び始めやがったから望みは薄そうだ…

56 :
ストア政策失敗によるアプリ不足で
緊急輸入に踏み切ろうとしてるとは思えない言い草w

57 :
そういえばedgeとかいう次期ブラウザはmetro専用なのか?
期待してるがそれなら使い手がなさそう
タブレットならまだしもパソコン上ではデスクトップで使えないとどうしようもないぞ

58 :
DesignModeでフォーカスの判定どうやるか知ってる方いませんか?
MS謹製のFlyout等はデザイナで要素選択時だけ表示されますが、カスタムコントロールではどうやっても出来ない・・・orz

59 :
>>57
>そういえばedgeとかいう次期ブラウザはmetro専用なのか?

yes
ただしWin10はストアアプリもウインドウ表示できるから
デスクトップでも使える

60 :
っていうかWin8.xのIEと同じく、ストアアプリみたいに振舞うネイティブアプリなんじゃないの?

61 :
っていうかストアアプリの押し売りは本当もう結構。
Win8.1をデスクトップで使ってるとこれが鬱陶しくてしょうがない。

62 :
富士通ねえ
まだあんな無駄なものの研究開発を続ける気力があったか

63 :
>>59
それじゃストアアプリ頑張る意味ないじゃない…(´・ω・`)

64 :
>>60

http://blogs.msdn.com/b/visualstudio_jpn/archive/2015/03/02/a-first-look-at-the-windows-10-universal-app-platform.aspx
>「Project Spartan」ブラウザーはそれ自体が Windows ユニバーサル アプリであり、
>Windows ストアを使用して更新されることで、常に最新の状態が維持されます。

65 :
windowsのレイアウトXMLが全く普及しないと思ったら
採用してるのAndroidとwindowsだけなんだな
iOSアプリは基本的にUIにXMLは使わない方向
コードも増えまくってメリット少ないことが明らかになってきている

66 :
根本的に野暮ったいんですよ
いい加減に悟りなさい

67 :
json


why〜 japanese people!!!

68 :
正直ウィンドウ化出来るんならどっちも変わらないような気がす

69 :
でもフォームデザイナのわけのわからん挙動より、書いたことしてくれるだけのザムルの方が、慣れたら使いやすい気がします

70 :
>>68
ユニバーサルアプリは

ドラッグアンドドロップできない
標準ダイアログない
メニューない
タブない
ツリーない
プロセス間通信ない
通常の常駐ない

71 :
デバイスをオープンしたりもできないよね。

今度はユニバーサルアプリなんて名前になったのかw
ジャンクロードバンダムかよw

72 :
Spartanで試したら確かにドロップできなかった
まさかHTML5のドラッグドロップAPIもサポートしないつもりか?

他は別にいいけどドラッグアンドドロップなしでデスクトップアプリの代替は無理だよ

73 :
>>65
Qtってのがあってな

74 :
formsプログラマが今から学習するなら
普及する可能性0のWPFより
HTML5とjavascriptやる方がよっぽど良いよね

75 :
>>74
ザ…xamlはこれからだから…!

76 :
HTML5でGUI書くのってってストアアプリじゃないWin7のデスクトップアプリでもできるの?

77 :
>>76
HTML Applications
https://msdn.microsoft.com/en-us/library/ms536496(v=vs.85).aspx

78 :
>>77
ありがとう

79 :
ListBoxのContextMenuを動的に動かすのがめんどいので、試しにVMでContextMenuのインスタンスを生成してListBoxにバインドしたら動いた
何となく問題ありそうなんだが大丈夫なんだろうか?

80 :
WPFの質問です。
Windowの横に別のWindowを新規で表示したいのですが、
そういった位置の指定はどうすれば可能でしょうか?

新しく開くWindowのOwnerに設定して中心に表示する、
といったことはプロパティの設定で簡単にできますが、
上記のやりたいことはウィンドウの位置をピクセルで取得して
自分で計算してピクセル指定、しか方法ありませんでしょうか?

81 :
具体的には下記のようにしたいです。
ウィンドウの上辺は同じで、真横にぴったりくっつけて表示したいです。
■が元のWindow
□が新規のWindow

■■■■■■□□□
■■■■■■□□□
■■■■■■□□□
■■■■■■
■■■■■■

宜しくお願いします。

82 :
Window#Top
Window#Left
Window#Width
でそれっぽいこと出来ました。

83 :
仕事の忙しさにかまけて今までWindows.Forms使っていたんですが
そろそろWPFを使ってみようかと思っています。

先ずは勉強がてらに名簿管理アプリでも作ってみて感触をつかんでみようと思いますが
画面に取得した値をセットしたり、入力後の値を登録する為に取得したりする辺りの部分で
WPFで調べてみるとよく使われているのが INotifyPropertyChanged+PropertyChanged みたいな感じだったのですが
Windows.Formsの時は基本的に融通が効きにくかった為、バインドを使用しないで原始的な方法で記述していました。
(入力チェックなどは登録前に一括で処理していました。)

WPFでは基本的な方法としては皆さん INotifyPropertyChanged+PropertyChanged を使っているのでしょうか?
先行されている皆様のご意見をいただければと思います。

84 :
不便だと思いつつ使ってるわ

85 :
>>83
DataRowをbindすれば、Propertyなんちゃらは不要

86 :
>>84-85
レスありがとうございます。
いずれの方法にせよバインド方式の方が多い感じなんでしょうか・・・。
となると入力時にValidation使って制限かけるとかその辺になるのかなと想像します。
ご意見ありがとうございました。

87 :
XAMLをいじるの楽しい

88 :
奇特なお方だねそりゃ

89 :
>>87
ちょっとわかる

90 :
次第にだれる

91 :
>>65
 iOSのレイアウトファイルであるxibの実態はXMLだけど、まず読まない(読めないな)な。その分ツールの使い勝手をよくしている。
XAMLは知らんけど、イクリスプ時代のAndroidのツールはクソだ。

92 :
Android Studioとかいう奴、今は使い物になるようになったんだw
出た当時は散々だったような

93 :
Android Studioは触ってないからなしらんが、イクリスプ時代のは間違いない
クソだ。

94 :
>>93
なんだそういうことかw

95 :
GridSplitterで、質問です。
うまく伝わるかちょっと心配ですが。
Rowを5分割(0,1,2,3,4)、Columnを3分割(0,1,2)。
GridSplitterをColumnは1に全域でSpan5で分割。Rowは1,2にそれぞれSpan1で分割。

実現したい、動作としては。左右のSplitterが上下に自由に動かしたい。
今は、右を上に持っていこうとしても、左のSplitterの位置に制限される。

はたして、これは、Splitterでどうにかできるのか?別のコントロール使うのか?
こうすればいいという方法があればお願いします。

96 :
自己解決しました。
やっぱりGridの入れ子をすればよかったんだ!
ずっと<Grid.ColumnDefinitions>の中で<Grid>を入れ子にしようとエラーでした。

97 :
???

98 :
なんでWPFはよさげな参考書がないんだ
唯一よさげなのは絶版でアホみたいな値段で売ってるし

99 :
洋書はいっぱい出てるしググればただでe-Book版が落とs(

100 :
wpfカスタムコントロールライブラリを作るとThemes/Generic.xamlを自動的に見に行ってくれますが
普通のクラスライブラリで同じことをするには何処を変更すればいいのでしょうか


100〜のスレッドの続きを読む
国産オープンソースDIコンテナSeasar2 その16
【wasm】ブラウザでC++。Emscriptenを語ろう
くだすれDelphi(超初心者用)その55
Perl初心者スレ(マジレス回答)
Kotlin 6
フリーソフトなどに使われる言語は?
【統計分析】機械学習・データマイニング28
a4です。P2P人工知能「T」開発。
起業しようぜ8
SQLなら俺に訊け
--------------------
メドベアンチスレ1119
マイナビ Laughter Night 空気階段の踊り場
わたしたちの韓流板を荒らさないで!!!
MX・tvk・テレ玉・チバ・群馬・とちぎ実況 ★ 63601
幼女が裸で踊る動画をネットでダウンロードして保存 児童ポルノ所持で男4人を書類送検
JR赤羽駅西口:露店ベビーカステラ撤去運動
【SC6】ソウルキャリバーシリーズキャラクリスレ7
競輪で起きた珍しい事故・事件・記録・出来事等13
高橋尚子
何回も聞いた定番話 其の参
日本政府、観光地の「脱韓国」支援へ 韓国人観光客に依存する西日本の観光構造を改善 リスク分散狙い
もしも水島精二が種の監督だったら
【ブックメーカー】日本を応援しようぜ
●○o】】】マカロン【【★2【o○●
デート・ア・ライブ part43
奈良県の奥様 3(IDなし)
【リニア工事】国交省がJR東海と静岡県仲介の意向 知事明かす
赤石路代4
【大一】P姫相撲 前頭3枚目【はげwwwww】
フィギュアスケート実況スレ本部6655
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼