WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/05/30(木) 20:12:06.20Visual Studio 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プログラミング Part15
http://toro.2ch.net/test/read.cgi/tech/1359863558/
関連スレ
Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/
コードを貼る場合は以下のサイトの利用をお勧め。
run codeのチェックは外しておきましょう。
http://ideone.com/
0552デフォルトの名無しさん
2013/10/01(火) 20:56:16.42フォルダ選択ダイアログはWPFのウィンドウじゃなくてWindowsネイティブだろ?
だからWindowsネイティブのGUIのラッパーであるWinFormsを使う。何かおかしいか?
WPF内でやりたいというなら自作しろよ
0553デフォルトの名無しさん
2013/10/01(火) 21:02:56.00分かってますよ?
0554デフォルトの名無しさん
2013/10/01(火) 21:22:18.64百以上あるのを2カ月で五千行ばかり書いたのに…。
0555デフォルトの名無しさん
2013/10/01(火) 21:45:36.380556デフォルトの名無しさん
2013/10/02(水) 01:01:42.880557デフォルトの名無しさん
2013/10/02(水) 01:05:59.630558デフォルトの名無しさん
2013/10/02(水) 01:12:00.49素早い回答さんくす!
0559デフォルトの名無しさん
2013/10/02(水) 11:37:57.31みたいに伸び縮みして面白いんだけどな。
使い勝手がもうちょっと良けりゃ。
0560デフォルトの名無しさん
2013/10/02(水) 19:11:36.18MVVMはそういうのに向いた手法だけどそれはそれでドカタには難しすぎる
一画面を作り込むタイプのアプリにはいいんだけどその手のアプリは数が多くないし金にならない
0561デフォルトの名無しさん
2013/10/02(水) 20:42:30.600562デフォルトの名無しさん
2013/10/02(水) 21:00:26.80表示する情報が違うとかそういうレベルで
しかもデータ量が大量だから、それがWPFに合わないっていうのが大きいよな
ビューとモデルが一対一だから、MVVMの恩恵も受けないし
0563デフォルトの名無しさん
2013/10/02(水) 21:28:33.67Silverlightの開発チームが何の前触れもなく解散したのにはビビったわ
こりゃWPFもそろそろかって思う人が出ても不思議ではないはず
0564デフォルトの名無しさん
2013/10/02(水) 22:04:42.540565デフォルトの名無しさん
2013/10/02(水) 23:08:25.14ただ実装がひどすぎた
無理やり作りました的なフレームワーク
staticメンバー羅列ってみるだけでゲロ吐きそう
0566デフォルトの名無しさん
2013/10/02(水) 23:42:09.27理念通りのMVVMにはライブラリ使うか、自分でWPFの上に乗っける
フレームワークをフルスクラッチするしか道はない
とりあえずPrismでも使っておけ
>>562
むしろWPFの得意領域じゃねえのそれ
0567デフォルトの名無しさん
2013/10/02(水) 23:55:14.390568デフォルトの名無しさん
2013/10/03(木) 00:15:25.720569デフォルトの名無しさん
2013/10/03(木) 00:21:44.23あれはソース見て自前で作るためのサンプルだ
0570デフォルトの名無しさん
2013/10/03(木) 00:31:45.55モダンの方だがBindableBaseだけでそんなさして困って無いんだが。
まぁコードビハインド適度にあるけど別にそんぐらい構わなくね?
0571デフォルトの名無しさん
2013/10/03(木) 00:33:58.30それは言い過ぎだわ…
DelegateCommandだけでも存在意義ある
ガリガリ実務で使うかといえばアレだが、普通に使っても困らん
複合アプリケーション云々は無視して問題ない
せめてPrismとInteractivity.dll無いとスタートラインに立てん
livetとかでもいいが
0572デフォルトの名無しさん
2013/10/03(木) 00:35:51.08素のWPFが非常によくできていることが分かってくるよ
0573デフォルトの名無しさん
2013/10/03(木) 00:52:23.36とかいう俺もbehaviorのOnDetachingがコードビハインドで明示的に削除を
書かないと働かないことを知ってからは若干嫌厭気味だが……
0574デフォルトの名無しさん
2013/10/03(木) 01:02:12.300575デフォルトの名無しさん
2013/10/03(木) 01:08:28.01そこを正しく理解するのがまずは先
0576デフォルトの名無しさん
2013/10/03(木) 01:43:32.160577デフォルトの名無しさん
2013/10/03(木) 08:30:10.310578デフォルトの名無しさん
2013/10/03(木) 12:10:11.87WPF Prismで検索しても大した内容が出てこにゃい
英語でお勉強するしかないのか
それとPrism RTのテンプレートのダウンロード数が世界で1000件ぐらい
RTが終わってるのかPrismが始まってないのか
0579デフォルトの名無しさん
2013/10/03(木) 17:30:28.03Prismとかやるなら英語必須だろ(´・ω・`)
0580デフォルトの名無しさん
2013/10/03(木) 21:22:10.99いじってるとデザイナーがハングして冷や汗だらだらになるぞ?
0581デフォルトの名無しさん
2013/10/03(木) 21:25:05.550582デフォルトの名無しさん
2013/10/03(木) 21:34:45.89やがるな。
自称プロ用のガラクタかよ。
0583デフォルトの名無しさん
2013/10/03(木) 21:45:44.700584デフォルトの名無しさん
2013/10/03(木) 22:01:11.39Win32APIを直で書くのは面倒だし、MFCはもうMSですら使ってないだろうし
WTLは死んでるようなものだし、今後期待できそうなのQtくらいか
0585デフォルトの名無しさん
2013/10/03(木) 22:05:35.430586デフォルトの名無しさん
2013/10/03(木) 22:08:48.250587デフォルトの名無しさん
2013/10/03(木) 22:08:52.610588デフォルトの名無しさん
2013/10/03(木) 22:10:26.050589デフォルトの名無しさん
2013/10/03(木) 22:12:48.80それが一番ありえそうもないな。
0590デフォルトの名無しさん
2013/10/03(木) 22:15:28.62クラウドがもうだめ
0591デフォルトの名無しさん
2013/10/03(木) 22:40:07.56はて?
0592デフォルトの名無しさん
2013/10/03(木) 22:58:35.40JavaScriptでもかけるからアプリ増えそう
0593デフォルトの名無しさん
2013/10/03(木) 23:27:13.87?
JavaScriptで書いてもメトロアプリはメトロアプリでは?
0594デフォルトの名無しさん
2013/10/04(金) 00:35:21.680595デフォルトの名無しさん
2013/10/04(金) 22:29:37.49どのような処理をすると取得できるのでしょうか
0596デフォルトの名無しさん
2013/10/05(土) 06:43:38.65英語で書かれたオリジナルのMSDNドキュメントを読めば解る。
0597デフォルトの名無しさん
2013/10/05(土) 08:50:26.60なぜでしょうか?
0598デフォルトの名無しさん
2013/10/05(土) 09:53:02.480599デフォルトの名無しさん
2013/10/05(土) 11:47:11.770600デフォルトの名無しさん
2013/10/05(土) 13:47:33.81http://engawa.2ch.net/test/read.cgi/poverty/1380941226/
0601デフォルトの名無しさん
2013/10/05(土) 14:09:19.240602デフォルトの名無しさん
2013/10/05(土) 15:46:53.36で、友人内で使うアプリを開発しています。
System.Data.SQLite.dllを使うアプリで、
ビルド後の実行ファイルと一緒に
DLLも友人に渡しています。
SQliteファイルを読み込む場所で
問題なく処理が通る環境と、アプリが動作を停止する環境があり、
なぜ動作停止するのか原因がわかりません。
それぞれの環境は以下になります。
<OKのもの>
・Win7 Pro x64、VS2010あり、自作PC
・Win7 Pro x64、開発環境なし、自作PC
・Win7 Home x64、開発環境なし、SONY VAIO
・Win7 Home x86、開発環境なし、自作PC
<NGのもの>
・Win7 Pro x64、開発環境なし、自作PC
上記の情報だけでは、<OKのもの><NGのもの>に
全く同じものがあるため、別のどこかが違っているのだと思います。
NGの人のPCにて、SQLite読み込み時に動作停止した際の
イベントログを取ってもらったのですが、
どこをどう対処すれば良いのか分かる方いらっしゃいませんでしょうか?
●イベントログの中身です
ttp://www.dotup.org/uploda/www.dotup.org4554675.txt
(以下に続きます)
0603602
2013/10/05(土) 15:51:11.42=====
すみません、書き込んでから気がつきましたが、
Win7は全て SP1 を適用済みです。
=====
イベントログを見ますと、
C:\Windows\syswow64\KERNELBASE.dll
の中で System.DllNotFountException
の例外が出ているように見ます。
DLLが見つからないとして考えられることは
SQLite.dll が無いとかですが、このDLLは間違いなく exe と
同じ場所に置いているそうです。
「開発環境が入っていないから、何かしらPathが通っていない?」
とか考えましたが、開発環境が入っていない装置でもOKなものも
ありますので、よくわかりません。
お知恵をお貸しいただきたく、よろしくお願いします。
0604デフォルトの名無しさん
2013/10/05(土) 16:11:10.730605デフォルトの名無しさん
2013/10/05(土) 16:29:15.96あと、NuGetに86/64兼用のやつが有ったけど試してみたらどうか
俺は悩むのが面倒になってSQL ServerCEに乗り換えた
0606595
2013/10/05(土) 16:30:15.04どのような処理をすると取得できるのでしょうか
ttp://msdn.microsoft.com/ja-jp/library/system.windows.controls.tabcontrol.aspx
ttp://msdn.microsoft.com/en-us/library/system.windows.controls.tabcontrol.aspx
0607デフォルトの名無しさん
2013/10/05(土) 16:33:11.37tabitemなのか〜
それともヘッダなのか〜
0608602
2013/10/05(土) 16:40:32.53レスありがとうございます。
VirtualStoreについて調べてみます。
(ざっと見てみましたが、Windowsシステムフォルダでの
操作は得に行っていないため、違うかな、という印象です)
>>605
レスありがとうございます。
AnyCPUではなく、x86ターゲットでビルドしています。
また、「Win7 Pro x64、開発環境なし」にて
動作OKと動作NGのものがありますので、
x86かx64か(動作環境、ビルドターゲット)の違いによる
影響ではない、と考えています。
NuGetのお話や、SQL ServerCEについての情報を
ありがとうございます。調べてみます。
0609デフォルトの名無しさん
2013/10/05(土) 16:52:28.25内側にGrid配置して、その大きさ引っ張ってくればいいじゃん
0610デフォルトの名無しさん
2013/10/05(土) 16:58:21.070611602
2013/10/05(土) 17:09:49.44それも考えましたが、ちゃんと解凍していました。
0612デフォルトの名無しさん
2013/10/05(土) 17:51:04.31どうみてもスレ違いなんだけどなぁ・・・まあいいや。
動作が異なる原因はGACの中身の違いに一票。
利用するバージョンのSQLiteがGACにインストールされているかを確認したら?
GACの中身によっては、sqlite.dllが使用されない状況になってるよ。
(故にsqlite.dllの不備に気付かない。)
> SQLite.dll が無いとかですが、このDLLは間違いなく exe と
> 同じ場所に置いているそうです。
x64とx86で動かすなら、これは間違い。
sqlite.dllはx64専用又はx86専用のいずれかなので、
両方の環境で動かしたいなら2つのsqlite.dllが必要。
exeと同じ場所に置くってことは、1つしかsqlite.dllを置いてないよね。
正しい置き方についてはSystem.Data.Sqliteのドキュメントを参照の事。
0613612
2013/10/05(土) 18:06:38.98だったら>>612の後半は無視してくれ、
ところで、"sqlite.dll" というファイル名はどこから出てきたの?
確かに、sqlite.dll を使うバージョンのSystem.Data.Sqliteもあったような気がするが、
俺がいつも使ってるのは SQLite.Interop.dll を使う奴なのでちょっと気になった。
0614602
2013/10/05(土) 18:31:25.34WPFで開発していたためこちらで
質問させていただきました。申し訳ありません。
GAC、意識したことが無かったので
勉強します。ありがとうございます。
>ところで、"sqlite.dll" というファイル名はどこから出てきたの?
現状、System.Data.SQLite.dll のみを使用しています。(exeと一緒に配布しています)
WPF、C#にてSQLiteを使う方法を
ググって探しながら、どこかのブログか何かを
見ながら導入したことを記憶しています。
記憶を頼りにググってみましたが、
どこを参考にしたのか探せませんでした。
現時点で動かせている環境がたくさんあるのですが、
もしかしたらGACに SQLite.Interop.dll がインストールされている
環境か、そうでないか、という違いかもしれないでしょうか。
0615デフォルトの名無しさん
2013/10/05(土) 23:37:03.34IDEが半分しか使えない。
0616デフォルトの名無しさん
2013/10/06(日) 00:48:45.32いざXamlで使おうとしたら認識してくれない・・・なぜですか
定義コードは以下の通りです
public static readonly DependencyProperty TargetCursorProperty =
DependencyProperty.Register(
"TargetCursor",
typeof(Cursor),
typeof(MouseCursorChangeAction),
new FrameworkPropertyMetadata(Cursors.Arrow));
0617デフォルトの名無しさん
2013/10/06(日) 01:30:09.53xamlではそっちを見てるので。
0618デフォルトの名無しさん
2013/10/06(日) 12:09:49.28認識してくれました!
ありがとうございます
0619602
2013/10/06(日) 12:46:17.44下記でひとまず解決(動作停止する環境でも、動作するようになった)しました。
■以前使っていたSystem.Data.SQLite.dll
V1.0.81.0
このバージョンのものの場合、SQLite.Interop.dll
が無くても動作していました(1人以外の環境で)
■環境の再構築
V1.0.88.0 のSystem.Data.SQLite.dll などファイル一式を更新
このバージョンの場合、SQLite.Interop.dll が必要になりました。
環境の再構築をして検証を行ったところ、
(私が動かしたい)環境の全てで動作しました。
動作停止していた原因は引き続き追究することとしますが、
ひとまず動作しましたので、ここで消えさせていただきます。
沢山のアドバイスや新しい知識をいただけて本当に助かりました。
ありがとうございました。
0620602
2013/10/06(日) 12:47:02.33SQLiteについて質問したものです。
が正しいです。
0621デフォルトの名無しさん
2013/10/06(日) 13:10:34.33回答には影響ない
0622デフォルトの名無しさん
2013/10/07(月) 03:02:41.350623デフォルトの名無しさん
2013/10/07(月) 03:13:51.590624デフォルトの名無しさん
2013/10/09(水) 16:53:59.98音を鳴らし終わったらウィンドウを閉じいるんですが、
その時にMediaElementがリークを起こしていみたいなんです。
閉じる前にMediaElementのSourceにnullを入れて、
Close()を実行したりはしていますが、
参照を残さない為に他に処理すべき事はありますか?
0625デフォルトの名無しさん
2013/10/09(水) 17:53:28.430626デフォルトの名無しさん
2013/10/09(水) 18:09:21.22規定時間経過時に曲のフェードアウトを行います。
それをStoryboadで管理しているので、
親和性の高いMediaElementを使用しています。
解消出来なければSoundPlayer等で代用することになると思います。
0627デフォルトの名無しさん
2013/10/11(金) 10:06:04.74VMに配置して、VM自体は使いまわししたらどうだ?
0628デフォルトの名無しさん
2013/10/11(金) 10:23:26.24>>514
0629デフォルトの名無しさん
2013/10/12(土) 02:31:37.070630デフォルトの名無しさん
2013/10/14(月) 03:58:16.47表示された時にScrollViewerが動かないんだけど
これってガイシュツ?
0631デフォルトの名無しさん
2013/10/14(月) 13:59:28.000632624
2013/10/15(火) 13:08:11.40SoundPlayerでボリュームの調整が出来なかったのでそのように実装しました。
>>628
そもそも曲の再生に関係なく、ビジュアルツリーに登録した時点で
MediaElementのインスタンスをリーク無く開放する手段が無いように感じていますが間違っていますでしょうか?
例えばXamlにMdeiaElementのみを設置したウィンドウを作成し、
そのウィンドウを閉じるだけで(再生の実装も無し)参照が残るように見えます。
>>629
残っている参照はMediaPlayerState.Helperということは分かっていますが、
開放する手段が分かりません・・・。
亀レスで申し訳ありません。
結局>>627のように実装することにしました。
アドバイスありがとうございました。
0633デフォルトの名無しさん
2013/10/16(水) 23:17:17.16習得しつつあるが、WPFから入るとフォームの詳細設定って、
やはり一時代前の感覚はあるな。面倒臭い。
これ使うと普通にダイアログ出せるのか?
0634デフォルトの名無しさん
2013/10/17(木) 22:59:05.940635デフォルトの名無しさん
2013/10/18(金) 11:06:43.990636デフォルトの名無しさん
2013/10/18(金) 18:44:37.56WPFってファイルオープンダイアログすら未実装だろ。
MSが「WPFはあくまでもプレゼンテーションライブラリなので」
実装却下してるからには、普通にアプリ開発するならフォーム
使えってことか。
0637デフォルトの名無しさん
2013/10/18(金) 18:57:32.280638デフォルトの名無しさん
2013/10/18(金) 19:22:41.77Microsoft.Win32.FileDialogをご存じない?
0639デフォルトの名無しさん
2013/10/18(金) 19:30:22.090640デフォルトの名無しさん
2013/10/18(金) 19:50:59.85じゃ、なおのこと将来ないな・・・
0641デフォルトの名無しさん
2013/10/18(金) 20:04:59.770642デフォルトの名無しさん
2013/10/18(金) 23:07:51.050643デフォルトの名無しさん
2013/10/18(金) 23:23:58.930644デフォルトの名無しさん
2013/10/19(土) 00:18:38.690645デフォルトの名無しさん
2013/10/19(土) 00:22:51.662013のCodeMapデバッガーは便利だぞー
0646デフォルトの名無しさん
2013/10/19(土) 00:33:02.520647デフォルトの名無しさん
2013/10/21(月) 21:48:41.26こういう風な構成の場合DependencyPropertyAを更新するとループしてスタック
逝っちゃうんだけど普通はどういう風に実装するもんなんだろう?
AとSource双方から更新がある想定でBはAのコントロールを内包したコントロール。
0648デフォルトの名無しさん
2013/10/21(月) 22:46:59.82UIをDX9でレンダリングして、Vista世代に合わせたアプリ開発を
狙ったんだろ。
>>642
いや、フォームの手順でそのままやろうとしても受け付けないぞ。
0649デフォルトの名無しさん
2013/10/21(月) 23:00:16.81値の変更がなくなったら止まるからループしないだろ?
でも、2wayを複数設定するのはやめた方がいいと思うけど。
0650デフォルトの名無しさん
2013/10/22(火) 07:33:40.60むしろOSの世代に合わせないGUIフレームワークを提供するのが狙いだよ
WinネイティブなGUIを使ってるとOS側の進化を待たなきゃいけないからニーズに素早く対応できない
結局WinRTでネイティブなGUIに回帰したけど
0651デフォルトの名無しさん
2013/10/22(火) 08:10:49.040652デフォルトの名無しさん
2013/10/22(火) 19:20:17.09ネイティブ回帰でなくてメトロネイティブになっただけじゃないの?
しかも超絶不人気…
■ このスレッドは過去ログ倉庫に格納されています