10/01/21 14:55:21
概念はさほど重要ではない…いや重要か
.NET自体動作原理はVMに近いものだし
117:デフォルトの名無しさん
10/01/21 14:59:19
>>116
結構重要だと思いますw
WPF以前のアプリだと密接でしたがWPFだとたとえばTreeViewにデータ流し込むにしても
やってることはC#で書いたListをどこかにあるDBのように見ますし
なんというかunixのXというかなんというか
118:デフォルトの名無しさん
10/01/21 15:02:59
というかそんな中身はどうでもよくて重要なのはグラフィカルなGUIってところなんですが
参考になるサイトはないでしょうか?
119:デフォルトの名無しさん
10/01/21 15:35:47
とってもVBだと思います
120:デフォルトの名無しさん
10/01/21 17:15:53
Xとはじぇんじぇん違うと思います。
121:デフォルトの名無しさん
10/01/21 21:39:37
XAMLとコードビハインドは普通は密結合だよ
Form1.Designer.csとForm1.csの関係に対応する
MVVMはもう一段上の概念
122:デフォルトの名無しさん
10/01/21 22:19:38
MVVMやってるとコードビハインドを空にしたくなる病気が・・・
123:デフォルトの名無しさん
10/01/21 22:31:50
コードビハインドはMVVM的にはViewの一部だからな
MVVMでいうビューとロジックの分離と,一般にWPFでいうビューとロジックの分離は意味が違う
124:デフォルトの名無しさん
10/01/21 22:33:15
Xって…
125:デフォルトの名無しさん
10/01/21 22:39:13
WPFやってるとモデル構築時からもう依存関係プロパテイで実装したくなる
126:デフォルトの名無しさん
10/01/22 00:05:09
横長のグラフの一部をスライダーの動きにあわせて表示させるアプリをつくってみたんですが、
いくつか表示させるととても遅くなります
ImageコントロールにDrawContext使って描画することできそうだと思って
ImageのSourceにDrawingImageいれて、そのDrawingにDrawingGroupいれて、
Sliderが動くたびにDrawingGroupからDrawingContext取得して、DrawDrawingやDrawLineで描画してます
さて、もっとキビキビ動くアプリにするためにはどうしたらいいでしょう?
127:デフォルトの名無しさん
10/01/22 00:08:01
まずは認識を改めようか
「DrawingContextは遅い」
128:デフォルトの名無しさん
10/01/22 00:17:42
orz
どうすればいいですか?
何を使えば早いですか?
129:デフォルトの名無しさん
10/01/22 00:23:41
WriteableBitmapは?
130:デフォルトの名無しさん
10/01/22 00:30:59
自分で点を打っていくんですか・・・くたびれるなぁ
131:デフォルトの名無しさん
10/01/22 00:32:48
RenderTargetBitmap使って適当にキャッシュしたら
132:デフォルトの名無しさん
10/01/22 00:40:59
Bitmapをいっぱいつくるってことなんですかね?
トライしてみます
ありがとう
133:デフォルトの名無しさん
10/01/22 00:59:50
Evernote3.5のクライアントってWPFなんだな
134:デフォルトの名無しさん
10/01/22 01:33:04
>>118
ここぐらいかな。
URLリンク(ufcpp.jp)
残念ながらWPFの解説サイトは非常に少ないのでMSDNのサンプルを見ながら勉強するのが一番いいと思う。
URLリンク(msdn.microsoft.com)
あとは書籍とか。
135:デフォルトの名無しさん
10/01/22 01:35:35
解説より作例を見たいよね
136:デフォルトの名無しさん
10/01/22 09:32:14
miniUML が MVVM の作例的にも非常に良く出来ているって聞いたぞ。
まだソース読んでないけど。
URLリンク(www.codeplex.com)
137:デフォルトの名無しさん
10/01/22 09:34:13
>>136
それ、なにするもの?
138:デフォルトの名無しさん
10/01/22 10:09:07
>>137
URLリンク(journal.mycom.co.jp)
139:デフォルトの名無しさん
10/01/22 10:13:04
>>138
このスレにはやさしい人がいてうれしいな
ありがとう
140:デフォルトの名無しさん
10/01/22 10:45:18
ソースからUML書いてくれるツールないかな
141:デフォルトの名無しさん
10/01/22 13:02:23
>>140
あるよ。
JUDEの後継のastah* は Java/C#/C++のソース/UML間相互変換をサポートしてる。
ただし無料版はどれも不可だけど。
JUDEの時はJava出力に関してはフリー版でも出来たと思ったんだけどなぁ。
142:134
10/01/23 10:08:28
URLが間違っていたので訂正。
× URLリンク(msdn.microsoft.com)
○ URLリンク(msdn.microsoft.com)
143:デフォルトの名無しさん
10/01/23 11:16:31
WPFでバルーンヘルプ出すにはどうしたらいいの?
教えて偉い人。
144:デフォルトの名無しさん
10/01/23 11:36:30
Accordion+Binding+Resize時の4004エラー回避できぬ。
ぬぬぬぬ…。
145:デフォルトの名無しさん
10/01/23 12:13:25
>>143
URLリンク(msdn.microsoft.com)
146:デフォルトの名無しさん
10/01/23 12:14:54
最近MSDNの内部リンク切れまくっていないか?使い辛いっつーか、使い物にならん。
>>143
目的が分からんからどうとも言えんがツールチップかポップアップ使えばいいんじゃないか?
偉くはないが
147:デフォルトの名無しさん
10/01/23 12:43:18
>>145,146
すごい。瞬速で解決。ありがとう偉い人たち!
148:デフォルトの名無しさん
10/01/23 13:04:48
>>146
リンク切れ?例えばどこのこと?
149:デフォルトの名無しさん
10/01/23 13:05:44
サンプルのダウンロードとかそこらじゅう
150:デフォルトの名無しさん
10/01/23 13:18:19
>>149
>>142で訂正したけどサンプルが更新されている場合は「.Net Framework 3.5」の方からダウンロードできる。
あとブラウザをIEに変えるとうまくいくことがあったので試してみて。
151:デフォルトの名無しさん
10/01/23 13:34:10
>>148
WPFの話から脱線してスマン。サンプルが切れているのは元からだが
最近クラス自体の説明へのリンクが切れている所が多くなった気がする。
多すぎてうる覚えだが、PrivateObject関連の構造体の説明あたりとか、
URLリンク(msdn.microsoft.com) のクラス説明へのリンクとか。
152:デフォルトの名無しさん
10/01/23 14:50:23
ライトウェイトにしてるから?
153:デフォルトの名無しさん
10/01/23 14:52:36
>>152
え?
…クラシックだと見れるのね。なんじゃコリャw。
切り替えるとなおるのか、キャッシュ探すよりもずっと楽だ。トン
154:デフォルトの名無しさん
10/01/23 17:28:24
ライトウェイトけっこう適当な作りしてんのなw
155:デフォルトの名無しさん
10/01/23 21:41:58
ItemsSourceにBindしてる時、その中の子のコントロールが自分のItemを知る事は出来ますか?
子のコントロールでBindしてパラメータとして渡したいのです。
156:デフォルトの名無しさん
10/01/23 21:54:06
ん? DataContextじゃダメ?
157:デフォルトの名無しさん
10/01/23 22:11:02
すみません、情報不足でした。
Prism for Silverlight使っててxamlで指定して上げたいのです。
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
なんちゃらこうちゃら
CommandParameter="{Binding 現在のアイテム}"←ここ
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
158:デフォルトの名無しさん
10/01/23 22:23:50
Itemsの中の要素に対してバインドしたいんだよね?
「Binding Path=.」か「Binding RelativeSource={RelativeSource Self}, Path=DataContext」でいけない?
159:デフォルトの名無しさん
10/01/23 22:52:04
あれ?もしかしたら違うところで躓いてるかも…。
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button c:Click.Command="{Binding MyCommand}" ←このMyCommandはItemsにはなく、DataContextのViewModelにある。
c:Click.CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=DataContext}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
この状態でButtonをクリックするとMyCommand自体が呼ばれません。
ItemsControlの外に置くとうまくBindされてMyCommandは実行されます。
これはおそらくItemsの中にMyCommandがないからだと思われますがうまく"Binding MyCommand"の箇所をViewModelのMyCommandが呼ばれるようにするにはどう設定すればよいのでしょうか?
Binding ../MyCommand←これはだめでした。
Binding this.DataContext.MyCommand←これもだめ。
うーん…。
160:デフォルトの名無しさん
10/01/23 23:40:58
MyCommandはItemsControl.DataContextがもっているが、
CommandParameterに渡すのはItemsControl.items内の要素ってこと?
そんな使い方したことないから実際やったことはないが
a) ItemsControlにx:"Name=itemContorlName"を指定して
Command={Binding ElementName=itemContorlName,Path=MyCommand}
b) Command={Binding RelateveSource={RelativeSource AncestorType={x:Type ItemsControl}}}
のどっちかで解決しないか?
> この状態でButtonをクリックするとMyCommand自体が呼ばれません。
出力ウィンドウをみればバインド失敗は表示されるけど…何か出ていない?
161:デフォルトの名無しさん
10/01/24 00:12:23
//Model
public sealed class Model {
public string A {get; set;}
}
public sealed class Models : ObservableCollection<Model> {}
//ViewModel
public sealed class ViewModel {
public ViewModel() {
this.Items = new Models();
this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand);
}
public void OnMyCommand(Model item){
}
public Models Items {get; private set;}
public ICommand MyCommand {get; private set;}
}
//View
public sealed class View {
public View() {
InitializeComponent();
this.DataContext = new ViewModel();
}
}
162:デフォルトの名無しさん
10/01/24 00:21:57
上記がMVVMの仕様です。
これで説明しやすくなりました。
この仕様でバインドした時>>159のMyCommandがViewModelにあるMyCommandでバインドされないのです。
Model側に"ICommand MyCommand"のプロパティを持てばバインドされるのですがそれではModelとしてふさわしくないように思えます。
・させたい事
ViewModelのMyCommandを>>159のItemControl内のButtonにバインドさせたい。
URLリンク(msdn.microsoft.com)
(ここも見てみましたが上位?Pathの設定の仕方がわかりませんでした。)
ためしにModel側にMyCommandをもちバインドさせ>>158の方法で"Item"を参照できるか試しましたがOnMyCommandの"Model item"はnullとなってました。
163:デフォルトの名無しさん
10/01/24 00:24:30
>>161の訂正
×this.MyCommand = new DelegateCommand<RequestItem>(OnMyCommand);
○this.MyCommand = new DelegateCommand<Model>(OnMyCommand);
164:デフォルトの名無しさん
10/01/24 00:42:12
.NET4.0のMediaElementでH.264のサポートはないの?
silverlight3では動いたので.NET4.0で験してみたのだけど。
165:デフォルトの名無しさん
10/01/24 01:41:12
>>160
UserControlに名前をつけてa)の方法でDataContextを参照したところうまくいきました。
本当はUserControlに名前をつけるとBlendにて警告が出るのでb)のAncestorTypeを使ったものを採用したかったのですが
SilverlightではSelfとTemplatedParentしか用意されていませんでした…。
166:デフォルトの名無しさん
10/01/24 07:46:15
>>165
これでどうですか?
<Window.Resources>
<c:CommandReference x:Key="MyCommandReference" Command="{Binding MyCommand}" />
<Window.Resources>
<ItemsControl ItemsSource="{Binding Items}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Command="{StaticResource MyCommandReference}"
CommandParameter="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
うまくいかなかったら実験したProjectをどこぞにうpします。
167:デフォルトの名無しさん
10/01/24 21:05:50
>>166
うまくいきました!
ありがとうございます。
168:デフォルトの名無しさん
10/01/24 21:10:02
WPFの質問スレとか見当たらなかったので、お手数ですが少しよろしいですか?
非リアルタイムの2Dゲーム(ADVに近いものを想像してください)を作るにあたって、
WPFを利用するのは有用でしょうか?
WPF関連の書物は高い&3Dゲームに関する記述しかないのですが、
ざっと確認したイメージ的にはいけそうな気もするんですよね。
有用だというのならば、思い切って専門書買ってみようと思うのですが、
よろしければアドバイス頂けませんか?
169:デフォルトの名無しさん
10/01/24 21:15:09
WPFはオサレなGUI(ボタンや部品がうにゅーっと動くようなの)を作るのには向いているがかなり重たい。
作れなくはないが、ADVなら積極的に採用する理由はあまりないんじゃないか?
170:デフォルトの名無しさん
10/01/24 21:18:44
まあWinFormsのSystem.Drawingで作るよりは遥かに速いし簡単に綺麗なものが作れるよ
171:デフォルトの名無しさん
10/01/24 21:20:35
>>168
URLリンク(www.nicovideo.jp)
172:デフォルトの名無しさん
10/01/24 21:22:32
>>168
2DゲーでADVに近い物ならVC#でも十分可能だけどね
173:デフォルトの名無しさん
10/01/24 23:13:51
んー、やっぱり動かしてみないと判断難しいんだろうか?
かといって図書館にも置いてないしなあ。
>>169
少し説明が難しいのですが、動的に処理すべき場所があまりにも多いんですよね。
するとフォームデザインがどうも役立たずっぽいので、WPFの方が適切ではないかと思ったわけです。
速度はイライラしない程度なら問題はないと考えています。
>>170
それはちょっと朗報です。ありがとうございます。
>>171
うわw これは素直にすごいなあ……
ここまでの処理は求めてませんが、期待持てそうです。
>>172
どうもゲームプログラミングは苦手で、それなのに任されちゃって四苦八苦なんです。
いざ調べてみると想像以上に資料少ないですよね。
市販の書籍なんて、ほとんど画像表示の方法とかに終始してますし。
174:デフォルトの名無しさん
10/01/24 23:26:25
ピクセルシェーダが簡単に使えるのは面白いよな
>>171はやってみると意外と難しくない
175:デフォルトの名無しさん
10/01/24 23:28:21
・・・環境にもよるんだろうけど作るだけなら吉里吉里でも
使えばよかろうに
176:デフォルトの名無しさん
10/01/25 00:02:01
でもADVみたいなのにWPFはありだと思うけどなぁ。
UIかっこよくしてなんぼって感じもするし。
177:デフォルトの名無しさん
10/01/25 00:34:22
>>174
やれるとしても当分先だと思いますが、これは確かに面白そうですよね。
たとえ今回の件にそぐわないとしても、近いうちにWPFには手をつけてみようかなーと思い始めてきました。
数値計算とかばかりやってきた身としては、もう少し普及して間口が広くなってほしいってのも本音ですけどね……
>>175
ADVみたいなものって説明が悪かったですね。
雰囲気としてはそれっぽいものではあるのですが、某レトロゲームのシステムを踏襲+拡張したものなので、
簡易的なものじゃちょっとまかなえないんです。分かりにくくてすみません。
178:デフォルトの名無しさん
10/01/25 02:21:15
WPFと吉里吉里とで作れるゲームの幅は変わらないと思うよ
179:デフォルトの名無しさん
10/01/25 03:55:47
吉里吉里はJavaScriptライクな言語TJS2の実行環境+クラスライブラリといった体裁だから、やろうとおもえば結構がっつり組めるよ
でもWPF製のゲームも見てみたいから頑張れ
180:デフォルトの名無しさん
10/01/25 15:07:56
>>171
こういうの見るとモチベーションが上がるな。
上がって何をするかというと、2chとMSDNを往来することなのだが。
181:デフォルトの名無しさん
10/01/25 15:14:07
こういうのは早いのになんでDrawingContextは遅いの?
もっと早く線描けないの?
182:デフォルトの名無しさん
10/01/25 15:27:21
>>181
処理が違うから?
大量の色情報に対して同じ処理を高速にやってるだけだし
上画像のピクセルのアルファ値を高速に変えればできる処理なんで
GPUのもっとも得意とするところじゃん
DrawingContextで描画するような内容ってピクセルのアルファ値かえるだけのような
話じゃないしね
183:デフォルトの名無しさん
10/01/25 16:27:31
c#でも画像の合成表示ならできたな
ちらつきとか抑える方法はよくわからんけど
サンプルソース居る?
というか配布する際どれを渡せばいいんだろうw
.netのソースって開発環境のパスが埋もれてるとか聞いたけど
184:デフォルトの名無しさん
10/01/25 16:35:33
*.Cs とか *.xaml とかでいいんじゃね?
185:デフォルトの名無しさん
10/01/25 16:44:34
URLリンク(uproda.2ch-library.com)
pass 無し
formにpicturebox x1とbutton x3とtimer x1を貼り付けてイベントハンドラを
割り当ててくれれば動くと思うよ
186:デフォルトの名無しさん
10/01/25 17:19:21
あと最近いじっててこんなのもできた
URLリンク(uproda.2ch-library.com)
FormのPaitイベントでDrawLineにArrowAnchor指定して物なんだけど
別の機能をちょっと足せばグラデーション+AntiAliasで描ける
187:デフォルトの名無しさん
10/01/25 17:27:00
なるほど
188:デフォルトの名無しさん
10/01/25 18:38:03
デバッガでエラーが起きた場所が分からなくてつらい
189:デフォルトの名無しさん
10/01/25 19:47:44
>>185
スレチ
190:デフォルトの名無しさん
10/01/25 20:39:07
遅くなってしまい申し訳ありません。168その他です。
昨日はくだらない質問に対していろいろとありがとうございました。
氷点下の世界を旅して、思い切ってWPFの本を買いに行ってみたのですが、取り扱ってる店が1件もありませんでした……
佐川のお兄さんに運んで貰おうと思います。
>>178,179
吉里吉里ってそこまで高性能だったんですね。
あまり使う機会もありませんし、ハッシュは配列にキャストしてから~ってのがうざったくて放置してました。認識改めます。
191:デフォルトの名無しさん
10/01/25 23:07:44
むしろWPFを使いこなせてないから同レベルくらいに見えるんだろう
それが悪いというんじゃなく、それくらい習熟するのは時間がかかる
192:デフォルトの名無しさん
10/01/26 00:14:08
ほとんどのノートPCで使われてるSynapticsのタッチパッドドライバがWPFと相性悪いらしく、
ListBoxほか大多数のScrollViewer系のコントロールで
パッドのフチを使ったスクロールができず困っていたのだけど、
今年に入ってSynapticsがScrybeというツールのCTPを公開し
その中に最新のタッチパッドドライバ15.0.0.1が含まれていて、
インストールしたところWPFアプリでもスクロールできるようになった!
URLリンク(www.uscrybe.com)
PCメーカーのサポートページから入手できるタッチパッドドライバは大抵古いバージョンなので
WPFのスクロールで困ってる人はこっちをインストールしてみてくれ
以上チラシの裏でした
193:デフォルトの名無しさん
10/01/26 02:49:31
>>191
つまりWPFのほうがより高度なものが作れるってこと?
194:デフォルトの名無しさん
10/01/26 08:05:08
>>171の例1つとっても、画像使うか既定プリセットしかないきりきりより、
自分でHLSL書けるWPFのほうが高度だよ。サンプラーだって上限まで使えるしね。
ていうか、制御するコードにしてもVSとC#使えるんだから、そこらの簡易言語じゃ
勝負にならんでしょ。覚えることは多いけどね。
195:デフォルトの名無しさん
10/01/26 08:21:32
綺麗なのだけじゃなく、スピード重視のローレベルな描画メソッド充実させてほしいな
そしたらもっと裾野広がるのに
196:デフォルトの名無しさん
10/01/26 09:36:54
どっちにしてもWPF使ってツクールみたいなの作るはめになるんだと思うけどな。
べたがきだと使い回しきかんだろうし。
197:デフォルトの名無しさん
10/01/26 09:49:21
>>196
ツクールを作ってた人が楽になるだけだよね
後はツクールを使ってた人が高度な実装知識無しで組めるようになるので
頑張ってツクールが担当してたエリアまで食い込んでくるかも
windows ≒ IE
XAML ≒ HTML
C# ≒ Javascript
こんな感じじゃない?
198:デフォルトの名無しさん
10/01/26 09:50:21
windows ≒ IE
これより
VM ≒ IE
か
199:デフォルトの名無しさん
10/01/26 10:14:38
Imageに画像のセンタリングをやめさせる方法はありますか?
200:デフォルトの名無しさん
10/01/26 10:19:40
自己解決
VerticalAlignment, HorizontalAlignment
失礼しました
201:デフォルトの名無しさん
10/01/26 20:42:54
パラメータに複数のエレメントを渡したい時はどのようにすればいいのでしょうか?
例
<Button CommandParameter="ここで同xaml内にある複数のエレメントを渡したい"/>
202:デフォルトの名無しさん
10/01/26 21:49:28
>>201
こんな感じのデータクラスを作って
public class Hoge {
public int ID { get; set; }
public string Data { get; set; }
}
XAMLでHogeのアセンブリを参照
<Window x:Class="WpfApplication1.Window1"
xmlns:d="clr-namespace:WpfApplication1"
ほいさっさ
<Button ...
<ButtonBase.Content>Ok</ButtonBase.Content>
<ButtonBase.CommandParameter>
<d:Hoge ID="1" Data="AAAAAAAA"></d:Hoge>
</ButtonBase.CommandParameter>
</Button>
203:デフォルトの名無しさん
10/01/26 21:53:48
>>202
おぉ!これは素晴らしい!
ありがとう!
204:デフォルトの名無しさん
10/01/26 22:47:28
補足、作法にのっとるなら依存関係プロパティ
public class Hoge : DependencyObject {
public DependencyProperty IDProperty = DependencyProperty.Register("ID", typeof(int), typeof(Hoge));
public DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(string), typeof(Hoge));
public int ID {
get { return (int)this.GetValue(IDProperty); }
set { this.SetValue(IDProperty, value); }
}
public string Data {
get { return (string)this.GetValue(DataProperty); }
set { this.SetValue(DataProperty, value); }
}}
これでBindingが使えるようになる。
<d:Hoge ID="0" Data="{Binding Source=button1, XPath=Content}"/>
205:デフォルトの名無しさん
10/01/26 22:49:49
>>204
おぉぉ、なるほど!
Dependency関係がよくわからなかったけどこういう風に使うのか!
また一つ勉強になしました。
ありがとう!
206:デフォルトの名無しさん
10/01/27 10:21:45
そういえばGyaOがヤフーに行ってから動画配信がSilverLight使ってるんだが
あんなに重いものかね?
プログラム作る上でネットブックをスペックの下限の指標にしてるんだが
動画配信中はその他ウインドウのReDrawすらままならないんだが
207:デフォルトの名無しさん
10/01/27 10:32:39
OSを
書け
208:デフォルトの名無しさん
10/01/27 10:51:43
VisualStudio2008ProSP1(Silverlight3 Tools for VS2008SP1 -JPN導入済、OS:XP)で、
CompositeApplicationGuidance-Oct2009の以下のクイックスタート用ソリューションの
プロジェクトのプロパティや、Resources.resxを開こうとすると、必ずVisualStudioが強制終了します。
(エラーメッセージやダイアログが一切表示されず突然落ちます。)
同じ現象にあった方や対処法をご存知の方、いらっしゃいませんか?
強制終了するソリューション(Desktop only - Open QS)
・Directory Lookup Modularity QuickStart
・View Injection QuickStart
強制終了せずプロジェクトのプロパティを表示できるソリューション
・Commanding QuickStart
・View Discovery QuickStart
・Hello World QuickStart
・Configuration Modularity QuickStart
・Commanding QuickStart
209:デフォルトの名無しさん
10/01/27 11:02:35
>>208です
プロジェクト内にResources.resxがないことが原因のようです。
お騒がせしました。
210:デフォルトの名無しさん
10/01/27 14:29:15
WPFでWindowが閉じられる原因ってどうやったらわかりますか?
WinFormsだとStackTrace使ったりFormClosingEventArgsにCloseReasonが
あったんだけど、WPFでどうやったらいいか分からない
211:デフォルトの名無しさん
10/01/27 14:38:53
URLリンク(social.msdn.microsoft.com)
212:デフォルトの名無しさん
10/01/27 14:51:29
WndProc使うしか無いのか…
ありがと
213:デフォルトの名無しさん
10/01/27 20:47:45
ChildFormのthis.DialogResultはViewに対する操作だからView側で処理して良いのかな?
それともICommand等でバインドしてViewのコントロールをViewModelに渡すのが正しい作法?
214:デフォルトの名無しさん
10/01/27 20:48:27
×ChildForm
○ChildWindow
215:デフォルトの名無しさん
10/01/28 12:04:19
Modelを触らない操作だからViewでOK
216:デフォルトの名無しさん
10/01/28 21:34:09
同一ソリューション内の他のプロジェクトをclr-namespaceを使ってXAML内で参照すると"CLR名前空間が定義されていません"と警告が出ます。
コンパイルOK、実行も何も問題ないのでこの警告をやめさせたいのですが何か方法はありますか?
217:デフォルトの名無しさん
10/01/28 23:37:42
WPFでURLリンク(daisuke-watanabe.com)みたいなローディングの画面は簡単に作れますか?
ってぐぐったらでてきたわ。
おまえらは自作で作れたか?
218:デフォルトの名無しさん
10/01/28 23:41:06
ラスターイメージ使ったら負けだろ
それくらいベクトルで描けよ
219:デフォルトの名無しさん
10/01/29 10:08:13
>>217
WPFでそういうことをやろうとも思わなかったけど
DirectXでやれたようなことがむき出しになってるので
できないことはないだろうな
というかWPF使わなくてもVC#でも可能なレベルだろ
個人的にはそのアニメーションすらCPUパワーの無駄とか
思ってしまう
220:デフォルトの名無しさん
10/01/29 11:21:42
URLリンク(www.dotup.org)
こんなんでいいだろ
221:デフォルトの名無しさん
10/01/30 00:44:46
>>220
わたし女子中学生だけどそれはないわ
222:デフォルトの名無しさん
10/01/30 10:23:14
>>220
あたし女子小学生だけどそれはないね
223:デフォルトの名無しさん
10/01/30 10:26:29
ぼく女子高生だけどそれはない
224:デフォルトの名無しさん
10/01/30 10:43:06
男子相撲部だけどごっつあんです
225:デフォルトの名無しさん
10/01/30 13:20:27
URLリンク(www.dotup.org)
わがままなおっさんたちだな
226:デフォルトの名無しさん
10/02/02 13:45:51
MVVMって流行だけどさ、
例えば、読み込むModelが複雑かつ長大な入れ子構造になっている様なとき、
ViewModelを作るコーディング時間と、実行時のコストって大変なものになると思うけど、
それでも分離しなくてはならないの?
227:デフォルトの名無しさん
10/02/02 14:05:59
>>226
テストによる品質保持にかかるコストがそれらを上回るなら。
228:デフォルトの名無しさん
10/02/02 14:19:23
ModelがINotifyPropertyChangedをしっかり実装してるなら、
そのままか同型のコピーをViewModelやViewに引き回しても問題ない。
229:デフォルトの名無しさん
10/02/02 15:40:50
最近はそれを見越して始めから依存関係プロパティ付けて実装することが多いな・・・
230:デフォルトの名無しさん
10/02/02 22:04:52
WPFはまだ仕事では使ってないけどみんなはどう?
231:デフォルトの名無しさん
10/02/02 22:12:19
当分縁がなさそう。
クライアントアプリを開発する案件がそもそも無いっす。
232:デフォルトの名無しさん
10/02/04 01:28:18
クライアントアプリを開発する人に聞いてるんだと思うよ
233:デフォルトの名無しさん
10/02/04 06:35:44
そういう人が居ないんじゃない?
234:デフォルトの名無しさん
10/02/04 07:04:51
よく”まだ”使ってませんって聞くけどいつになったら使う日が来るんですか?
235:デフォルトの名無しさん
10/02/04 08:21:35
VS2010、.NET4のbetaがとれたくらいか、
VS2010SP1、.NET4.5がでるころ
236:デフォルトの名無しさん
10/02/04 08:24:51
Win2kが根絶されるまでは無理ぽ
237:デフォルトの名無しさん
10/02/04 13:34:40
タブページとかXPで表示するとひどい目に遭うけどね
238:デフォルトの名無しさん
10/02/04 20:00:09
NT6が天下を取る頃
239:デフォルトの名無しさん
10/02/05 01:12:51
楽だから選択権があれば使ってるよ
でも重いから客には嫌われてるみたい
240:デフォルトの名無しさん
10/02/05 02:22:05
directx9が満足に動かないビジネス機じゃ重いかもな
241:デフォルトの名無しさん
10/02/05 07:52:21
・・ということは私を含めみんな趣味レベルでWPFやってるってことか・・・。
主流になってくれとまでは言わんが、日の目を見ることなく自然消滅ということにはならんことを祈る
242:デフォルトの名無しさん
10/02/05 08:45:02
いや、趣味レベルでやってるのはあんただけだとおもうぞw
243:デフォルトの名無しさん
10/02/05 09:12:23
VS2010、Expression Encoder 3、Evernoteとかビジネスアプリの事例も増えてきてる
244:デフォルトの名無しさん
10/02/05 09:33:08
MDXやXNA臭がするのは事実
245:デフォルトの名無しさん
10/02/05 09:38:54
> XNA臭
するするwwww
246:デフォルトの名無しさん
10/02/05 09:42:25
わざわざageて自演ですか?
247:デフォルトの名無しさん
10/02/08 22:32:50
>>228
そこまでやったら、Modelを直接バインドしたいなw
248:デフォルトの名無しさん
10/02/08 22:49:34
エッセンシャルWPFのP324にあるTreeViewとHierarchicalDataTemplateの
例がさっぱり分かんねーーーーー。
Binding Path='.'ってなんぞ。
249:デフォルトの名無しさん
10/02/08 22:58:47
そこにバインドされているDataContext自体。
250:デフォルトの名無しさん
10/02/08 23:01:54
綺麗さよりもスピード重視したWPFがあればいいのに
251:デフォルトの名無しさん
10/02/08 23:02:37
DirectXで直接ゴリゴリやればいいじゃん
252:デフォルトの名無しさん
10/02/08 23:10:06
DirectXわかんない
253:デフォルトの名無しさん
10/02/08 23:14:50
WPFはバインドで動的にリフレクションの黒魔術で
エロイムエッサイムしている時点でどうがんばっても速度は限界があるだsろ。
254:デフォルトの名無しさん
10/02/08 23:17:57
フレームワーク全体としてはともかく描画だけなら速くできるだろ
そこ分離するためにDrawingみたいなちょっと低レベルなレイヤがあるんだから
255:デフォルトの名無しさん
10/02/08 23:35:42
>>247
そこまでやったら、俺のItemを美人Modelに直接バインドしたいなw
256:デフォルトの名無しさん
10/02/09 00:10:06
面白いと思って書いてるんだろうか
257:デフォルトの名無しさん
10/02/09 00:17:26
たくさんレス付いてると思ってわくわくしながらリロードしてるんだろな
258:デフォルトの名無しさん
10/02/09 00:28:51
少しつれた...
259:デフォルトの名無しさん
10/02/09 00:30:59
今時こんなレスでも釣れたって言うのか
260:デフォルトの名無しさん
10/02/09 05:07:34
十分大漁です(´・ω・`)
261:デフォルトの名無しさん
10/02/09 06:08:29
>>249
DataType="{x:Type io:DirectoryInfo}"で指定した型をコンバーターで返しているから、
返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか?
IsExpandとかどう処理してんのか謎。
snipet
<UserControl.Resources>
<HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}">
<HierarchicalDataTemplate.ItemsSource>
<Binding Path='.'>
<Binding.Converter>
<local:GetFileSystemInfoConveter />
</Binding.Converter>
</Binding>
</HierarchicalDataTemplate.ItemsSource>
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</UserControl.Resources>
<TreeView ItemsSource="{Binding}" />
262:デフォルトの名無しさん
10/02/09 06:58:15
> <HierarchicalDataTemplate DataType="{x:Type io:DirectoryInfo}">
> <HierarchicalDataTemplate.ItemsSource>
> <Binding Path='.'>
型を返しているんじゃなくて、DataType=...は、「この型を表示要素に変換するDataTemplateだよ」と書いているだけ。
リソースに書いてあるデータテンプレートがあれば、明示的にデータテンプレートを書かなかった場合に
その型のインスタンスをバインドしたときに自動的に適用される。
> 返ってきたDirectoryInfo[]もHierarchicalDataTemplateの対象になってるってことですか?
このコンバータはDirectoryInfoから、IEnumerable<DirectoryInfo>に変換するのかな?
ならば、上と同様に型が一致すれば適用される。あとは再帰的に。
263:デフォルトの名無しさん
10/02/09 10:40:42
>>262
後出しになってすいません。
コンバータはreturn ((DirectoryInfo)value).GetDirectories();です。
レスありがとうございます。理解が進みました。
264:デフォルトの名無しさん
10/02/10 00:48:39
VS2010RC出たね
WPFは作る方は楽なんだろうけど
使う方から見ると悪夢だな
265:デフォルトの名無しさん
10/02/10 00:50:17
>>264
そう?
266:デフォルトの名無しさん
10/02/10 10:30:27
VS2010に関して言えばレンダリングにWPF使ってるだけなので
WPFだから特に楽って事もないだろう
267:デフォルトの名無しさん
10/02/10 15:12:52
WPFでフリーソフト作ってるけどWinXPは動作保障外にしてる
間違ってないよね俺
268:デフォルトの名無しさん
10/02/10 15:19:44
>>267
間違ってます
269:デフォルトの名無しさん
10/02/10 15:21:37
フリーソフトで動作保証なんてあるんか?
270:デフォルトの名無しさん
10/02/10 15:24:47
>>269
上手く動かなくても知らんってこと
271:デフォルトの名無しさん
10/02/10 15:46:09
フリーソフトなんだから好きにしたらいいよ
272:デフォルトの名無しさん
10/02/10 19:30:19
XPなんて臭いもん外すだろ…>>267は正しい
273:デフォルトの名無しさん
10/02/10 19:33:19
WPFを使っているとXPとVista/7で細かい部分で挙動が違うことがままあるからなぁ…
XPを保証外ってのは賢明だな。
274:デフォルトの名無しさん
10/02/10 19:36:04
XPは臭いのか
まあそれはいいとして確かにXP->Vistaでかなり変わってるからなあ
275:デフォルトの名無しさん
10/02/10 20:59:02
そろそろ保証外にしてもいいんじゃないの?フリーソフトなら。
仕事だとなかなかそうはいかんかもしれないけど。
276:デフォルトの名無しさん
10/02/10 21:43:12
>>266
VS2010で再変換が使えるようになったのはWPF採用のおかげだと思う。
277:デフォルトの名無しさん
10/02/10 21:54:37
再変換って?
278:デフォルトの名無しさん
10/02/10 21:56:43
え?
279:デフォルトの名無しさん
10/02/10 21:59:35
再変換って言われてもIMEの再変換くらいしか思いつかない
280:デフォルトの名無しさん
10/02/10 22:11:42
違うのか?
281:デフォルトの名無しさん
10/02/10 22:26:36
VS2010で再変換できるのがそんなにうれしいのかなと
282:デフォルトの名無しさん
10/02/12 15:11:04
WPFで、Silverlightアプリをホストできますか?
283:デフォルトの名無しさん
10/02/12 16:43:40
できるよ
284:デフォルトの名無しさん
10/02/12 20:12:47
codeplexにあったな
285:デフォルトの名無しさん
10/02/17 15:39:06
マウスクリックしてPopup表示するのどうすればいいんだ?
最初から表示させとくことしかできないの?
286:デフォルトの名無しさん
10/02/17 15:57:18
tooltipなのかダイアログかはっきり汁
287:デフォルトの名無しさん
10/02/17 16:03:08
Popupクラスだよ
イベントハンドラかいて出来たけど
288:デフォルトの名無しさん
10/02/18 13:05:12
DataGridで右寄せにするにはどうすればいいですか?
あるサイトにあった
<Style x:Key="NumberColumnStyle" TargetType="{x:Type my:DataGridCell}">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
をそのまま書くとPropertyDescriptorの値が無効ですといわれてしまいます
289:デフォルトの名無しさん
10/02/18 13:45:39
・・・忘れてください
290:デフォルトの名無しさん
10/02/18 14:30:15
忘れられるもんか
291:デフォルトの名無しさん
10/02/18 17:01:05
あなたのことが忘れられないの///
292:デフォルトの名無しさん
10/02/18 19:15:11
俺が忘れさせてやるよ
293:デフォルトの名無しさん
10/02/18 20:21:05
金属バットで頭をバコーン☆! か
294:デフォルトの名無しさん
10/02/19 05:29:22
URLリンク(msdn.microsoft.com)
ここの解説で、
>この不要なオーバーヘッドを回避するには、
>WPF に対して、イメージをサムネイル サイズにデコードするように要求するか、
これはBitmapSourceを生成する時点で大きさを指定することで、
>サムネイル サイズのイメージを読み込むように要求します。
これはもとから小さいサイズの画像を用意しておくってことでいい?
ImageコントロールのWidth/Heightでの指定は非効率つーことだよね
295:デフォルトの名無しさん
10/02/19 05:35:55
>>294
その辺はメモリやディスクの場所とCPU(GPU)の演算資源とのトレードオフだよ
どの段階でサムネイルを用意するかはソフト次第ってところだけど
たとえば3Dゲームなんかだとミップマップというのがそれっぽい
画像の管理かなあ
296:デフォルトの名無しさん
10/02/20 11:48:58
質問です。
画像読み込み用スレッドにて作成した System.Windows.Media.Imaging.BitmapImage
クラスを、ウィンドウのある元スレッドにて使用したいのですが、
InvalidOperationException が発生し、動作しませんでした。
別のスレッドからWPFエレメントを操作しようとすると、
同様の例外が発生することから多分無理だろうと思っていましたがやはりダメでした。
読み込む画像のサイズが大きくそれなりに数があるので、
できれば読み込みは非同期で行いたいと思っております。
どのような解決方法がございますでしょうか?
297:デフォルトの名無しさん
10/02/20 12:09:35
>>296
BitmapImage読み込み後にFreezeすればスレッド間で共有できる筈
298:デフォルトの名無しさん
10/02/20 12:55:58
>>297
早速調べてみます、ありがとうございます!
299:デフォルトの名無しさん
10/02/20 13:17:10
>>297
無事成功しました。
操作したい場合はCloneで置き換えればよいみたいですね。
ありがとうございました。
300:デフォルトの名無しさん
10/02/20 17:52:46
最近WPF使ってるが、バインディングやらテンプレートのせいで
ちょっと規模が大きくなってくるとコードの見通しが絶望的に悪くなってくる。
せっかくC#なのに・・・
301:デフォルトの名無しさん
10/02/20 17:57:45
そりゃ本来XAMLは人が読み書きするもんじゃないから
302:デフォルトの名無しさん
10/02/20 17:59:44
>>301
じゃ、どーやってつくるんだよ
303:デフォルトの名無しさん
10/02/20 18:01:34
XAMLでプログラムとデザインや設定が綺麗に分離されたのは素晴らしいんだが
WPFの本領を発揮しようとすると途端に至る所で色んな処理を書かなきゃいけなくなって死ぬ
304:デフォルトの名無しさん
10/02/20 18:03:25
XAMLはGridだけで充分
305:デフォルトの名無しさん
10/02/20 18:05:28
>>304
表示も入力もできないよママン
306:デフォルトの名無しさん
10/02/20 18:36:38
XAMLはエディタが全プロパティきっちり書けるようになってからが本領発揮だと思う。
いまはどうしても手で書き足さないとだめだもんな。
Expression Blendは使ったことないからわからない。
307:デフォルトの名無しさん
10/02/23 11:52:03
WPF Toolkit - February 2010 Release
308:デフォルトの名無しさん
10/02/23 11:58:44
>>307
kwsk
309:デフォルトの名無しさん
10/02/23 12:37:08
>>307
うぉ、マジだ…
URLリンク(wpf.codeplex.com)
310:デフォルトの名無しさん
10/02/23 12:38:50
Ratingってなーに?
311:デフォルトの名無しさん
10/02/23 12:48:42
iTun○sのアレ
312:デフォルトの名無しさん
10/02/23 18:08:56
・18歳未満使用禁止になりました
とかだとは流石に思わなかった
313:デフォルトの名無しさん
10/02/28 16:59:57
WPF始めてサンプル作ってみたが、UI外観のカスタマイズやアニメーションがタグ要素だけでできて実行ファイルサイズも小さいんだな
リソースどうなってん?
XAMLがUI要素だけのための超高級言語っぽくて正直とっつきにくいが、日本語解説サイトもっと増えてくれー!
ついでにasp.net使える無料スペースも増えてくりゃれ、ドメインはいらんのです
314:デフォルトの名無しさん
10/03/04 19:53:39
WPFは無くなると思うよ。
もともと.NET FrameworkにGUIアプリ向けのライブラリが混入してること自体が間違いだし、それをSilverlightで是正しようとしてるね。
315:デフォルトの名無しさん
10/03/04 21:22:57
えっ?
316:デフォルトの名無しさん
10/03/04 21:25:15
何それこわい
317:デフォルトの名無しさん
10/03/04 21:27:31
WPFは無くならん
何を勘違いしてるのか知らんが、.NETをはじめとしたMSの言語群は「短期間で高品質な生産」を行うためにある
つまりアイデアが最も重要で、使い方を考えられない人間は価値を見いだせていないだけだ
318:デフォルトの名無しさん
10/03/04 21:37:58
なくならないだろうけど
クライアントアプリはなんかどんどん微妙な立ち位置になってきてる気はするね。
319:デフォルトの名無しさん
10/03/04 22:09:13
WPFはGridだけ残るよ
320:デフォルトの名無しさん
10/03/04 22:38:42
Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。
WPFにある程度追いついてしまったらSilverlightの方が幅広く活用されるのはは当然です。
Gridありますし。
321:デフォルトの名無しさん
10/03/04 22:54:37
Silverlight も WPF も基本は一緒だもんな。
322:デフォルトの名無しさん
10/03/04 22:56:26
設計は全然違うけどな
Silverlightの勝利はマネージコードの敗北です
323:デフォルトの名無しさん
10/03/04 23:30:53
>>320
>Silverlightでもクライアントアプリ作れるし、将来的に完全にWPFに置き換わるようになっていくってこと。
将来Visual Studioの実装がSilverlightで置き換えられるって? んなアホな。
Visual Studioの軽量版がSilverlightで実装されることはあるかもしれないが、
それは新規需要の開拓であって今のVisual Studioの置き換えでは無かろうよ。
324:デフォルトの名無しさん
10/03/04 23:58:39
Vistaを7で無かったことにするのと同じですよ
325:デフォルトの名無しさん
10/03/05 00:13:44
エッセンシャルの先頭10ページを読めばどうしてWPFが必要か理解できて、そんな寝言など出てこないはずなんだが
キミがそう思うのは自由だがひとには話さないことだな
326:デフォルトの名無しさん
10/03/05 00:26:27
WPFで作られたアプリが起動しなくなった
WPFじゃないアプリじゃこんなことなかったのに
327:デフォルトの名無しさん
10/03/05 01:07:10
釣針垂らすならもうちょっと頑張れよ…
328:デフォルトの名無しさん
10/03/05 07:55:34
>>314
gui用のライブラリが入ってるのが間違いとか、意味分からんわ。
view無しのフレームワークとかありえんだろ。ウェブのDOMも間違いとかいい出しそうだな。
329:デフォルトの名無しさん
10/03/05 08:19:56
>>325
先頭10ページを要約してよ。
→ 自分で買って読め
はいはい
330:デフォルトの名無しさん
10/03/05 10:54:55
そのへんの書籍がよくフリーでpdf公開されてたりするのも知らんのだろうな
331:デフォルトの名無しさん
10/03/05 12:23:09
URLも示さずに何言ってんのこの人。
エッセンシャルは公開*されてません*
332:デフォルトの名無しさん
10/03/05 12:37:34
SilverlightはUI周りの実装がなあ
さすがにXAMLパーサまでアンマネージコードで実装するのはどうかと
333:デフォルトの名無しさん
10/03/05 12:37:56
立ち読みでもしてこいよ。おれはおまえのママじゃないんだから
334:デフォルトの名無しさん
10/03/05 18:54:28
>>333
実は読んだことないでしょ?w
335:デフォルトの名無しさん
10/03/05 22:44:45
WPFやってるやつならみんな持ってるよ。これしかまともな本がないからな。君はもってないのか? 笑う。
336:デフォルトの名無しさん
10/03/05 23:21:14
マトモとは思えないが、相対的にはマトモだなw
337:デフォルトの名無しさん
10/03/05 23:33:56
WPF詳しい奴本書いて出版しろよ
今ならベストセラー狙える
338:デフォルトの名無しさん
10/03/06 00:20:54
>>335
俺もってないけど?
普通はMSDNだのブログだので充分だと思うが。
339:デフォルトの名無しさん
10/03/06 01:07:31
WPF本は2年ぐらい前にここで教えてもらったAdam NathanのWPF UnleashedとエッセンシャルWPFしか読んでない。
最近はネットの情報も増えてきて随分過ごしやすくなったね。
340:デフォルトの名無しさん
10/03/06 03:55:02
本を所持してるだけでどんだけ高圧的になれるんだw
341:デフォルトの名無しさん
10/03/06 09:50:06
>>339
その本正直ゴミみたいな本だよね
342:デフォルトの名無しさん
10/03/06 10:39:55
>>338
ほぼそれで大丈夫だよ。
343:デフォルトの名無しさん
10/03/06 12:23:51
Programing WPFは良かったよ。Pro WPFはどうなんだろ。
日本語の本では、新しいのが出ないね。
344:デフォルトの名無しさん
10/03/06 13:11:01
WPF流行ってないからしかたない。
今使ってる層はWebから情報得たり英語ソースあたったりする層ぐらいじゃないの?
345:デフォルトの名無しさん
10/03/06 13:38:29
すみません、質問です。
これからwpf入門をしようと思い、サイトなどを見ているのですが、
以下のサイトの記述は誤りであるという解釈でよろしいのでしょうか。
URLリンク(www.atmarkit.co.jp)
> Silverlightはラインタイムのサイズを4MBytes台に抑えるという
> 至上命令があったため、WPFと比べると機能が削られているという
> 違いが存在する。
「ラインタイム」ではなく「ランタイム」だと思うのですが、
別にそういう用語があるのか気になってます。
346:デフォルトの名無しさん
10/03/06 13:44:41
ランタイムで合ってると思うよ。
347:デフォルトの名無しさん
10/03/06 13:45:53
ないです
348:デフォルトの名無しさん
10/03/06 13:47:56
>>346
ありがとうございます。
349:デフォルトの名無しさん
10/03/07 00:05:23
SilverlightのUIフレームワークはWPFに似せた全くの別物なので
WPFと比べて削られてるって言うのはちょっと不適切だと思う
.NET Frameworkと比べてSilverlightは機能が削られているというならわかるけど
350:デフォルトの名無しさん
10/03/07 11:54:17
Expressionの開発に携わってる人が、SilverlightはWPFのサブセットだって言ってたよ。
351:デフォルトの名無しさん
10/03/07 17:29:50
サブセットなめんな
352:デフォルトの名無しさん
10/03/07 18:48:56
silverlightがサブセットといってもWPFが完全な上位互換でも無いんだよね。
silverlightにあってWPFに無い機能もあって移植のときに困る。
353:デフォルトの名無しさん
10/03/07 18:52:27
じゃあどちらか無くした方がいいな
354:デフォルトの名無しさん
10/03/07 19:29:00
UI部分に関してはAPIは似てるけど実装が全く違うんだよな
他のところはだいたいそのまま.NETのコードを拝借しただけなんだけど
355:デフォルトの名無しさん
10/03/08 22:09:33
ようするにバカは使うなってことだ
ユトリは大人しくオナニーでもしてろ
356:デフォルトの名無しさん
10/03/09 11:32:09
>>344
結局は面倒くさいからな
マイクロソフトのこの手の製品の癖として、何でも出来るようにさせるがために、全体の簡便さや明快さを犠牲にする。
作るソフトの特殊度・高機能度 低 中 高
要する労力 30 50 70
これを、 15 30 100
くらいの設計思想にしたっていいように思うがそうはしない。
ソフト制作の環境が昔と様々に違っている上、「また数年も経てば新プログラミング製品を出すんだろ?だとしたら過渡期のものをいちいち細かく研究してられるか。」感も強く、流行らないのも仕方ない。
357:デフォルトの名無しさん
10/03/09 11:48:54
でもおまえらもこれくらい10分もあれば作れるだろ
URLリンク(www.dotup.org)
358:デフォルトの名無しさん
10/03/09 12:00:40
>>537
WPF と全然関係なくね?
359:デフォルトの名無しさん
10/03/09 12:10:24
おまえらのいうWPFってGUI記述マークアップのことじゃないのか
360:デフォルトの名無しさん
10/03/09 13:29:06
MS製の割には無駄に複雑な感があるよね
Javaみたい
361:デフォルトの名無しさん
10/03/09 15:51:45
むしろMSの代名詞みたいなもんじゃないか>無駄に複雑
362:デフォルトの名無しさん
10/03/09 16:01:49
OLE/COM時代を通っている者ならば問題ない
363:デフォルトの名無しさん
10/03/09 16:37:36
無駄に複雑な方が色々金になるし。
あんまり簡単すぎるとうちらの仕事もなくなっちゃうよorz
364:デフォルトの名無しさん
10/03/09 16:42:22
依存プロパティ作るのめんどくさいからバインディングとかあまり使ってない
365:デフォルトの名無しさん
10/03/09 17:01:04
バインディング使わないとか勿体無すぎる
366:デフォルトの名無しさん
10/03/09 17:12:59
バインディングは使っても依存プロパティ自体あまり使わないと思うの
367:デフォルトの名無しさん
10/03/09 17:21:53
プロパティ型、プロパティ名、定義している型、初期値の4つを指定するだけじゃん
自動実装のプロパティと比べて2つも増えているのが面倒とか?
368:デフォルトの名無しさん
10/03/09 17:24:33
あとおまけでCLRラッパーも
369:デフォルトの名無しさん
10/03/09 17:57:11
依存関係プロパティは専用の構文とか用意すべきだったと思う。
正直くどい。
370:デフォルトの名無しさん
10/03/09 18:42:37
たしかにくどいけどC#全般がそういう言語だと思うことにした。
Visual Studio使っていれば、propdp[Tab][Tab]と叩くいて雛形を埋めるだけで出来上がるし。
371:デフォルトの名無しさん
10/03/09 18:47:50
スニペット必須なぐらいならいっそ #define みたいな仕掛け用意しときゃいいのにね。
不毛すぎる。
372:デフォルトの名無しさん
10/03/09 20:17:36
ツールヒントの表示の仕方も分からない
373:デフォルトの名無しさん
10/03/10 13:13:42
WPFはなくなるの?
答えはもちろんNO!
374:デフォルトの名無しさん
10/03/10 15:24:48
まあさすがに30年ぐらいしたらなくなってるとは思う。
375:デフォルトの名無しさん
10/03/10 15:30:32
COBOLは残ったんだよな・・・そう言われつつ
376:デフォルトの名無しさん
10/03/10 17:37:34
無くなると分かっている技術を習得しなければならないこともあるということさ
377:デフォルトの名無しさん
10/03/10 17:55:12
というよりSE/PGは(それに限らずどんな職業も)そういったくだらないその場限りの
バッドノウハウをお客さんのかわりに網羅する仕事だもんな。
Oracle のあるバージョン特有のチューニング方法とかどう考えても10年後20年後に役立つ知識じゃない。
378:デフォルトの名無しさん
10/03/11 00:30:28
1日役に立てば十分だ
379:デフォルトの名無しさん
10/03/11 01:17:27
WPF は Silverlight 4 の INotifyDataErrorInfo みたいにコントロールに非同期でエラーを伝える方法ってないのかな?
DataGrid で行の確定ごとにサーバーに問い合わせて、エラーを表示したいんだけど良い方法が分からない。
380:379
10/03/11 22:13:56
自己解決した。
IDataErrorInfo と INotifyPropertyChanged を実装してエラー更新後に PropertyChanged 呼んでやれば良いだけだった。
PropertyChanged でエラー情報も拾ってくれるんだね。
381:デフォルトの名無しさん
10/03/12 20:55:17
VisualStudio2008 SP1 VC# 2008
WPF3.5 で開発しています。
[DllImport("user32.dll")]
public static extern bool SetProp(IntPtr hWnd, string lpString, IntPtr hData);
this.Loaded += new RoutedEventHandler(
delegate(object sender, RoutedEventArgs arg) {
var source = new WindowInteropHelper(this);
SetProp(source.Handle,
"MicrosoftTabletPenServiceProperty", new IntPtr(0x01000000));
}
);
によってマルチタッチを有効にし(これはMSDNのサンプルからも得られる知識です)、
Stylusイベントによってマルチタッチアプリを開発しています。
参考になるサイトは以下です。
URLリンク(blog.andreweichacker.com)
MSDNのサンプル、↑のブログ、その他海外のサイト、どこを見ても
StylusDown, Up によってタッチの有無を判定していますが、
StylusEnter, Leave を用いたものを見たことがありません。
試しに Enter, Leave のイベントを記述し、対応する関数内で
(たとえば)listBox1.Items.Insert(0, "Stylus Enter" + e.StylusDevice.ID);
などと記述すると、Enter, Leave は問題なく取得できています。
が、1本目の指で StylusEnter し、2本目の指をウィンドウ内にタッチすると
Enter, Leave が暴走します。
(※すみません、次のレスに続きます)
382:381
10/03/12 21:09:20
(※続きです)
window1 内に、Rectangle1, Rectangle2 を配置し、
線を太くし、それぞれに StylusDown, Up, Enter, Leave の関数を記述します。
各関数では、↑に貼ったURLのように StylusのIDで条件分岐し、
Rect1/2 どちらのイベントか、Down/Up/Enter/Leaveどのイベントか
が分かるように、文字列として出力するとします。
■試行1(Enter, Leaveのイベントを取らない場合)
・Rect1をタッチすると、"Rect1 Down 16" みたいに表示されます。
16はStylusDevice.IDの例です。
・Rect1上から指を離すと、"Rect1 Up 16" みたいに表示されます。
・Enter, Leave, Rect2の場合も同じです。
・Rect1をタッチしながらRect2をタッチすると、"Rect1 Down 16" に続いて
"Rect2 Down 17" みたいに表示されます。
続いて指を離すと、指に応じたIDが "Up" された表示が出ます。
■試行2(Enter, Leaveのイベントを取る場合)
・Rect1の外をタッチして、Rect1の中にスライドさせると、"Rect1 Enter 16"みたいに表示。
・そのままLeaveすると、"Rect1 Leave 16"みたいに表示。
・Rect1に Enter した状態で、Rect1, Rect2 の外をタッチすると、
"Rect1 Leave 16", "Rect1 Enter 16" "Rect1 Leave 16" "Rect1 Enter 16" ...
と、次々と表示されます。
・Rect1に Enter した状態で、Rect2をタッチすると、
"R1 Leave 16" "R1 Enter 16" "R2 Leave 17" "R2 Enter 17" "R1 Enter 16" "R1 Leave 16" "R2 Enter 17"...
と、次々と表示されます。
これが何故か分かる方、
また、この対処方法が分かる方はおりますでしょうか?
長文、申し訳ありませんがよろしくお願いします。
383:デフォルトの名無しさん
10/03/12 21:18:58
単純に「内部で単一のポイントとしてエンたーりーぶを計算している」ってことだろ。
間違っても「どうすればいいか」とかは聞かないでくれよ。
384:381
10/03/12 21:33:23
>383
早速のレスありがとうございます。
Down, Up は同一のポイントとして計算はされず
Enter, Leaveは同一として計算される
ことが分かる情報があるということでしょうか。
Down, Up と Enter, Leave に大きな違いがある
という情報にあたった経験がありません・・・。
よろしくお願いします。
385:デフォルトの名無しさん
10/03/12 21:43:57
きみが「こう実装されてるはずだ!」とどんだけ叫ぼうと帰ってきたイベントが答えだよ
いいたいことがあるなら上司かMSにでも言え。俺に言うな。
386:381
10/03/13 01:16:49
>>385
失礼しました。
>>383がそういう意図とは取れませんでした。
業務内容とはことなりますが
SRで訊けるかとり合ってみます。
387:デフォルトの名無しさん
10/03/15 15:26:35
TreeViewのSelectedItemプロパティが読み取り専用のため、コード上で
treeview.SelectedItem = item;
のように指定できません。
例えばディレクトリ構成をツリー表示している場合、初期ディレクトリを開いて
選択状態にしたい時はどのようにしたらいいでしょうか?
388:デフォルトの名無しさん
10/03/15 17:18:43
>>387
つEnsureVisible()
389:デフォルトの名無しさん
10/03/15 17:33:12
普通に、IsSelected=trueするだけだろ
390:デフォルトの名無しさん
10/03/19 01:16:40
WPF M-V-VM Toolkit 0.1のドキュメント
Model-View WPF Applications--Part 2, Walkthroughにおいて
コマンド呼び出しにわざわざCommandReferenceを間にかませているのだけど
これは何の意味があるのでしょうか?
ViewModelのプロパティ名を記述する部分を一箇所にまとめるという意味はあると思いますが。。。
そもそもCommandReference自体が何をするためのもの?
391:390
10/03/20 01:06:56
<KeyBinding Key="X" Modifiers="Control" Command="{StaticResource ExitCommandReference}" />
となってるところを
<KeyBinding Key="X" Modifiers="Control" Command="{Binding ExitCommand}" />
こうしちゃえばいいじゃんと思ったら依存関係プロパティじゃないからバインドできないということなのね~
StaticResourceでワンクッション置けばできる仕組みはなんとなくしか理解してないが
バインドできない(Dependencyでない)プロパティ用の中継オブジェクトという認識で理解。
392:デフォルトの名無しさん
10/03/20 20:34:28
Microsoft Extensible Application Markup Language (XAML) technical documentation set
URLリンク(www.microsoft.com)
読んでないけど、なんか来てた。
393:デフォルトの名無しさん
10/03/20 20:49:32
XAMLで書かれたベクタ画像を動的に読み込んで表示したいのですが、
どうしたらいいでしょうか?
394:デフォルトの名無しさん
10/03/20 20:53:25
XamlReader.Load
395:デフォルトの名無しさん
10/03/20 21:03:10
これでも動く。
[STAThread]
static void Main(string[] args) {
Application application = new Application();
application.StartupUri = new Uri(new FileInfo(args[0]).FullName);
application.Run();
}
396:デフォルトの名無しさん
10/03/21 15:27:44
等幅フォントを列挙するにはどうしたら良いんでしょうか?
Fonts.SystemFontFamilies で列挙できる FontFamily で等幅かプロポーショナルか
判断する方法ありますか?
397:デフォルトの名無しさん
10/03/22 00:41:43
OnClosingのタイミングで設定保存とか続行確認とかしたいので
OnClosingとかOnLoadイベントにICommandをバインド?したいのですが
どう書けばいいのですか?
xamlに直接書けないのかな?
イベントハンドラ作ってxaml.csにコードで書くのかな?
できないことはないと思いますがぐぐっても情報が見つけられないです
398:397
10/03/22 23:32:43
いろんなblogとか見てると
MVVMでのイベント処理は結構悩みどころなんですね。
添付プロパティをくっつけてイベントキックさせるというメンドクサイやりかたが見つかりました。
↓
URLリンク(blogs.wankuma.com)
xaml的には美しいですけどね・・・
このままではあまりに使い勝手が悪いので汎用的になるように改造してみます。
てか絶対誰か既に作ってるだろ。。。趣味だからいいんだけれどね・・・
399:デフォルトの名無しさん
10/03/23 10:59:35
OnClosing とかポップアップは MVVM 的にすとんと落ちないらしいよね。
個人的には落ちない部分は大人しくコードビハインド書いたらいいのにとは思うけど。
400:デフォルトの名無しさん
10/03/23 13:36:30
ViewModel→Viewの操作でどうしてもバインドで書けないところは
var service = (IWorkspaceService)this.Services.GetService(typeof(IWorkspaceService));
service.OpenWorkspace(HogeWorkspaceViewModel);
みたいにしたらだいたいなんとかなるとおもう
401:デフォルトの名無しさん
10/03/23 14:42:36
Eventにコマンドをバインドしたければ
AttachedCommandBehaviorが使えるよ。
URLリンク(marlongrech.wordpress.com)
402:デフォルトの名無しさん
10/03/23 16:22:41
WPF3.5でテキストがGDIに比べてぼやけた状態で描画されてしまう問題に対応しようとしています。
私なりに調べた結果、WPFの描画の際に論理座標で色を配置する仕様が原因であること、図形と画像については
RenderOptionsのパラメータで解決させることができる。
ですがテキストに関しては解決させる方法が見つからないでいます。
WPF4.0から対応するといった内容のページも見つけましたが、なんとか解決させたいと思っています。
どなたか解決方法を教授願えませんでしょうか。
403:397
10/03/23 17:04:58
>>399
まぁ >>122 ということなのです。
WPF触りたてなのでまだまだMVVMの華麗なる疎結合に夢と希望をもっていますのでw
>>400
IWorkspaceService ってインターフェースはMSDNもグーグルさんも知らないとおっしゃってるのですが・・・
>>401
おお!すばらしいです。
ぱっとみ問題ありそうなのはEventArgsが利用できなさそうなくらいですかな。
大変参考になります。
こんな↓ページを見つけまして
URLリンク(blogs.microsoft.co.il)
でも上のはRoutedEventにしか対応してないから普通のEventHandler対応版を追加するのに
リフレクション使ってイベント名からイベント追加してというコードを作ったのですが
同じコードがあるじゃないか・・・orz
404:デフォルトの名無しさん
10/03/23 17:29:16
>>402
WinFormsHost
敗北宣言に等しいけど
405:デフォルトの名無しさん
10/03/23 17:38:10
カスタムスタイルでレイアウトの入れ子が増えるとおかしくなる。
406:デフォルトの名無しさん
10/03/23 17:48:50
知らん
XAMLくらい出せるだろ
407:デフォルトの名無しさん
10/03/23 22:35:36
あと、.NET 3.5のWPFでぼけたように見える原因の1つに埋込ビットマップをまったく使わないせいというのもある。
だからどうしたらいいと言えるわけではないけれど。
408:デフォルトの名無しさん
10/03/23 22:51:45
VS2010RC, WPF4.0
を使っているのだが、
Win32におけるWM_GESTUREみたいなもので
Gestureイベントってあるのかな?
zoomとかrotateとか簡単に取得できると
良いのだが。
409:デフォルトの名無しさん
10/03/23 22:59:34
WPF マルチタッチ
でググる
410:デフォルトの名無しさん
10/03/23 23:34:37
>>409
それで解答が得られたのであれば
本気で教えて欲しい。
どうせ「WPF マルチタッチ」でググったことないんだろ?
411:410
10/03/23 23:38:39
>>409
正直スマンかった。
最近、海外のサイトばかり回っていたのだが
日本のサイトでもWPF4.0について書かれているサイトが
少しずつ増えているんだな。
412:デフォルトの名無しさん
10/03/24 21:26:14
これXPには対応していない部分とかあるの?
XP用に開発するのは無謀?
413:デフォルトの名無しさん
10/03/24 22:33:26
XPだとなんか重いし、見た目もいまいちだし。
俺はもうXPはサポート外でやろうと思ってるくらいだ。
414:デフォルトの名無しさん
10/03/24 23:08:34
WPF初めて触って面白そうと思ったんですが(まだハローワールドしかやってないんですが)そんなにはやってないんですか
XPだと表示が微妙なんでしょうか?
415:デフォルトの名無しさん
10/03/24 23:09:18
Silverlight使えば?
Silverlight4ならブラウザ外実行の普通のデスクトップアプリケーションとして
CDなどで直接配布できるよ
416:デフォルトの名無しさん
10/03/24 23:17:52
>>414
微妙っていうか重いってのが一番のネックかと。
今のところ、WPF でやってみました!!なんてのが売りになるぐらい流行ってないと思う。
少なくとも国内では。
417:デフォルトの名無しさん
10/03/24 23:28:38
WindowsFormで作られたC#アプリを
簡単にWPFのGUIに移行できる?
簡単に言うとform1だけwindows1にするだけで
作り変えられるのか?ってとこが疑問なんだけど
このGUIで非同期とか実現できるのかなー
418:デフォルトの名無しさん
10/03/24 23:31:12
新しい概念が登場しすぎで全体像把握すんのが大変
昔の素朴なイベントキューアーキテクチャって一目で理解できたもんな
それってある意味ではすごい
419:デフォルトの名無しさん
10/03/24 23:32:32
>>417
ならない
細かいところで変わってるから
420:デフォルトの名無しさん
10/03/24 23:33:31
>>417
> form1だけwindows1にするだけで作り変えられるのか?
一応WinFormとの相互運用性は確保されてるが、
Windowに直接System.Windows.Forms.Controlは乗せられないから多少手間が必要
しかしそれ以前にそもそもWPF使う意味皆無だろそんなもん
> このGUIで非同期とか実現できるのかなー
意味分からん
421:デフォルトの名無しさん
10/03/24 23:38:29
>>416
重いんですか、残念
こういうの待ってたんだけどなぁ
Silverlightってwikipedia見る限りWPFと同じなのかな??は調べてやってみまする
422:デフォルトの名無しさん
10/03/24 23:39:54
XPだと重いってどういうことよ?
プラットフォームに依存しないんじゃないの?
423:デフォルトの名無しさん
10/03/24 23:40:55
同じPC/AT互換プラットフォームなら全て同じ性能出せと言いたいのか
424:デフォルトの名無しさん
10/03/24 23:41:04
>>422
GUI周りの構造の問題じゃないの?
試してないけどもしかするとvistaのAero切ったらだめってのと同じかもね
425:デフォルトの名無しさん
10/03/24 23:42:41
まあSilverlightなら軽いし確実に同じ外観と操作性を実現できるもんなあ
426:デフォルトの名無しさん
10/03/24 23:43:42
vista以降ってOSのGUI周りがゲームと変わらないといっても過言じゃないくらい
GPUと融合果たしてるけど、xpまでは2Dが基本なのでWPFだといろいろ
無駄がありそうってイメージ
427:デフォルトの名無しさん
10/03/24 23:59:15
細かい違いはあるけど Silverlight 覚えるのも WPF 覚えるのも大差ないような気はするよね。
428:デフォルトの名無しさん
10/03/25 04:20:54
Expression Blend 3をダウンロードしてみたんだが
UIがめっちゃオサレですね
でも使い方が全然わからん
ほんとにデザイナさんこんなの使えるの???
429:デフォルトの名無しさん
10/03/25 06:40:20
flashでas3やってるデザイナなら使えると思う
430:デフォルトの名無しさん
10/03/25 10:53:57
体を使う技はデザイナでも訓練しなければ云々
431:デフォルトの名無しさん
10/03/25 13:04:21
>>426
OSはあんまり関係ないよ
WPFは基本的にウィンドウ内で完結してるのでほんとにゲームと全く変わらない
432:デフォルトの名無しさん
10/03/25 17:46:11
描画システムが違うって点でOS関係あるんじゃないの?
433:デフォルトの名無しさん
10/03/25 17:59:00
XPがWDDM1.1に対応してないという点では関係ある
ウインドウの中身をdirectxで書いてるという点では関係ない
434:デフォルトの名無しさん
10/03/25 22:30:39
XPだとGPU支援が得られず、CPU負荷が大きい。
なのでOSは思いっきり関係ある。
435:デフォルトの名無しさん
10/03/25 22:33:57
それ迷信
単なるゲームだと何度言ったら
436:デフォルトの名無しさん
10/03/25 22:42:50
XPでGPUアクセラレーションが効かないっていう噂の発端は
XPでは透明ウィンドウがソフトウェア処理されていたこと
.NET3.5ではXPでも透明ウィンドウにGPUが効くようになった
437:デフォルトの名無しさん
10/03/25 22:49:27
なるほど。
3.5以降ターゲットで作ればVista以降と比べて遅いってことはなくなるのか。
438:デフォルトの名無しさん
10/03/26 00:13:16
3.5のせいでウィンドウフックするタイプのソフトは全部使えなくなったわ
439:デフォルトの名無しさん
10/03/27 01:22:15
WPF3.5 SP1 です。
イラレで描いた絵をXAML形式で吐いて
WPFに配置することはできますが、
以下のことは可能でしょうか?
・座標 (a, b) を設定する
・ボタンを押す
・指定した座標に、イラレで描いた絵を配置する
たとえば、ある canvas に対する相対位置 (a, b) に
XAML形式のものを配置するということを、C#のコードで
実現することは出来るのでしょうか?
440:デフォルトの名無しさん
10/03/27 08:06:13
できるとしか答えられない
441:デフォルトの名無しさん
10/03/27 08:23:34
>>440
*.cs からイラレxamlって生成できるの?
どうやんの?
442:デフォルトの名無しさん
10/03/27 08:27:29
どうやるかは分からないが
労力を無視すれば
どんなことであれ不可能ではないだろう
443:デフォルトの名無しさん
10/03/27 09:08:38
*.cs で、はしらんけどイラストレーターには Xaml 出力のプラグインがあったよ?
URLリンク(www.mikeswanson.com)
444:デフォルトの名無しさん
10/03/27 09:24:27
>>439
XamlReaderでXAMLを読み込んでXAMLのルート要素の型(IllustratorならたぶんCanvas)にキャスト
Canvas.SetLeftとCanvas.SetTopで位置を設定
配置されてるCanvasのChildrenに追加
445:デフォルトの名無しさん
10/03/27 15:17:30
あるいはC#で静的にXAMLファイルを書きかえる
446:デフォルトの名無しさん
10/03/27 19:26:24
>>442
~でできますかという言い方をすれば俺ならこうやってできるぜ
という人が必ず現れるので労力は無視できる。
447:デフォルトの名無しさん
10/03/27 19:37:45
>>446
それが2ちゃんの正しい使い方
448:デフォルトの名無しさん
10/03/27 19:39:35
「◯◯って××も出来ないんだね→ばーかばーか、△△で出来るっつーの」メソッドと、
「◯◯ってどうやるんでしょう?→△△で出来ますよ(嘘自演)→アホ、□□だ情弱」メソッドもあるでよ。
449:デフォルトの名無しさん
10/03/27 19:44:39
もはやそのメソッドも使い古されて「△△で」「□□だ」は書かれない傾向が
450:439
10/03/27 22:09:58
>>443
ありがとうございます。
そのプラグインで生成したxamlを *.cs.xaml に記述するのではなく
*.cs の中から生成したいのです。
>>444
ありがとうございます。
今、外出中なので帰宅したらやってみます。
また、いただいた情報から更に調べてみます。
>>445
ありがとうございます。
検索の手がかりになるキーワードだけでも
教えていただけないでしょうか。
451:デフォルトの名無しさん
10/03/28 02:42:38
WPF覚える前に検索方法覚えたほうがいいんじゃね
検索キーワード聞かなきゃ検索できないとか冗談にもならないレベルだよ
452:デフォルトの名無しさん
10/03/28 09:35:00
いやいや何言ってんだ・・・キーワード知らなきゃ検索出来んだろ普通。
453:デフォルトの名無しさん
10/03/28 10:41:34
>>439
大漁でしたね
454:デフォルトの名無しさん
10/03/28 12:24:39
google入門とか読めよ。
簡単に言うと、自分が思いつくいちばん近いキーワードで検索してページを読んで
もっと近そうなキーワードを見つけていくんだよ。誰でもできるだろ? やれ。
455:439
10/03/28 14:13:30
ネットはテレホーダイの時代以前から触っているので
それなりに検索術はあると思っていますが
皆さんの反応を見る限り、そうではなかったようです。
>>454氏の書き込んでいることはもはや当然のことで、
かれこれ3週間MSDNやらcode projectやらブログやらを
探っていますが、解に到達できていません。
その上で質問に来ています。
が、経験上、この流れになったが最後、
これ以上の情報をこのスレで得ることは困難なため
大人しく身を引きます。ありがとうございました。
>>453
遊びではありません。
456:デフォルトの名無しさん
10/03/28 14:38:44
傲慢過ぎワラタ こんな捨て台詞数年ぶりに見たわ
457:デフォルトの名無しさん
10/03/28 16:01:23
そうか?俺も他スレで同じ経験すること多いぞ
技術的な他分野ってこんなもんだろ
458:デフォルトの名無しさん
10/03/28 16:06:43
無駄にプライド高いのに教えを乞うからだよ。
希望の機能ならライブラリにメソッドがちゃんと用意されてるよ。
遊びじゃないなら3週間給料泥棒だったね。
459:デフォルトの名無しさん
10/03/28 16:09:21
今質問すると、ググレカスで一蹴されそうだが
width, height を Auto にして Stretch にすると
たとえば Name="canvas1"のCanvasに対して
int w = (int)(canvas1.Width);
としても w に変な値が入ってしまう。
// HeightとWidthはあくまで開発者がデザイン時に設定した値
ということは分かったのだが、
ではどうやって値を取得するのかが分からん。
canvas1.RenderSize.Width
canvas1.ActualWidth
とか調べても分からん。
windowサイズの拡縮に合わせて変化する canvas の
縦横を取得するにはどうすれば良いの?
# VC#2008, WPF3.5SP1
460:デフォルトの名無しさん
10/03/28 16:15:53
ActualWidth/ActualHeightでいいはずだが?
「調べても分からん」?「確認したけど期待した値じゃない」じゃなくて?
461:デフォルトの名無しさん
10/03/28 16:17:37
計算される前に呼んでるんだろ
462:459
10/03/28 16:20:36
>>460
>「確認したけど期待した値じゃない」じゃなくて?
そうでした。すまん。
なんか 0 が返ってくる。
>>461
・・・ビンゴな気がする。
Invalidatなんたらを実行してからとか
そんなのですかね。色々試してみる。
お二方ありがとうノシ
463:デフォルトの名無しさん
10/03/28 16:35:23
ggrks
464:459
10/03/28 16:42:19
何を血迷ったか、WinMain() の中で呼んでいたよ orz
Window_Loaded() の中で呼んだら、期待した値が来ました。
本当にありがとうございました。
465:デフォルトの名無しさん
10/03/28 18:09:57
>>464
いいってことよ
466:デフォルトの名無しさん
10/03/28 18:44:24
おまえら質問のしかたで反応が違いすぎ
467:デフォルトの名無しさん
10/03/28 18:54:47
いや普通そうだろ
468:デフォルトの名無しさん
10/03/28 18:56:06
>>466
普通そうです
469:デフォルトの名無しさん
10/03/28 18:57:59
私は女子中学生だけどそれが普通だと思います。
470:デフォルトの名無しさん
10/03/28 19:02:41
「自分のしたいことが明確にわかっている」のが質問の最低条件だから。
ここコミュ力試験に出るよ。
471:デフォルトの名無しさん
10/03/28 19:07:14
エスパーじゃないからな
でも初めてのことだとたまにエスパーして欲しいことはあるな
そういうときは答えをもらおうとせずもらえそうなところに愚痴っておくといい
たまーにヒントがもらえるから
472:デフォルトの名無しさん
10/03/28 19:26:58
>>470
あと「回答すべきことを明確に伝えれる」「必要なことは書き余分なことは書かない」も重要。
「ネットはテレホーダイの時代以前から触っているので」とか
歯に詰まったクラッカーのカスほどの価値もないことを書いて
自分が調べたキーワードがどういうものかもかかない奴には当然冷たい。
473:デフォルトの名無しさん
10/03/28 20:01:39
>>459
最初の一行が効いたな
474:デフォルトの名無しさん
10/03/28 20:03:03
>>472
おまえはテレホマンの魂を侮辱した!
475:デフォルトの名無しさん
10/03/28 20:17:42
しかしネットで難解なドキュメントやマニアックなブログ見るよりも
ビギナー向けのXAML入門書読んだほうが早いような気もするが
476:デフォルトの名無しさん
10/03/28 20:34:18
普段、難解なことを扱っているんだろ。
入門書で分かるレベルのことであっても
いつも通りの調べ方をしてしまったんだろな。
それ故にプライドも高い。
477:デフォルトの名無しさん
10/03/28 20:44:19
スレチ
478:デフォルトの名無しさん
10/03/28 20:44:23
WPFで、マウスポインタがディスプレイの端を触った時に
発生するイベントってありますか?
現状では、以下の2通りの方法で何とか実現していますが
美しくありません。
1) DispathderTimer を使う
・ System.Windows.Forms を参照
・ timer で定期的に呼ばれる関数内で Cursor.Position.X, Y を取得し
予め取得しておいた、解像度の情報と X, Y を比較して判定
問題点:タイマーを設けることで常に関数が呼ばれることになる
2) 透明の Rectangle などを置いて、MouseEnter で判定
・そのままです。
問題点:問題と言うか、美しくないです。
もしあるようでしたら、ご教授願いたいです。
よろしくお願いします。
479:デフォルトの名無しさん
10/03/28 20:55:04
2)は美しくなくない
480:デフォルトの名無しさん
10/03/28 20:55:39
MouseMoveイベントと
URLリンク(www.atmarkit.co.jp)
を組み合わせてみては?
481:478
10/03/28 21:11:57
>>479
美しくなくないですか。
例えば市場に出すアプリを組んでいるプロ?の方でも
こういった力技で解決するのでしょうか。
>>480
あぁーなるほど。MouseMoveですか。盲点でした。
座標比較が頻繁に行われることに違いはありませんが、
timerよりかは遥かに良い方法ですね。
以下、つぶやきです。
1)の方法でも、OSは定期的に MouseEnter しているのか
判定しているのでしょうかね。それなら1)も2)も処理量は
大差ないかもしれません。が、仮定の話なので無駄ですね。
482:デフォルトの名無しさん
10/03/28 21:19:33
マウスポインタがある領域に入ったってイベントが欲しいわけでしょ
正しい実装じゃん
力技じゃない
483:デフォルトの名無しさん
10/03/28 21:21:40
タイマで処理するにしてもそれぐらいカスみたいなコスト
484:478
10/03/28 21:21:56
>>482
なるほど、考えを改めます。
ありがとうございました。
485:デフォルトの名無しさん
10/03/29 21:53:38
Blendでコードビハインドべったりで書いていくと簡単だったりするんだよなwpf
昔のVBと大して変わんないってくらい
486:デフォルトの名無しさん
10/03/30 08:02:13
macで使われてるGUIのボタンってなんっていいましたっけ・・・
あれを再現は可能ですか?
487:デフォルトの名無しさん
10/03/30 09:03:01
Dockか?
そりゃWPFはまさにああいうことをやるためのフレームワークだから
488:デフォルトの名無しさん
10/03/30 10:29:01
aquaのことじゃないの
489:デフォルトの名無しさん
10/03/30 13:00:22
ボタンの見栄えを自由にするなんてのはお手のもんでしょうな。
別にFormで出来なかったわけでもないけど。
490:デフォルトの名無しさん
10/03/30 21:11:48
WPF Themesにいろいろ綺麗なテーマがあるよ
Macの真似みたいな貧乏臭いことはやめてくれ
491:デフォルトの名無しさん
10/03/31 22:27:14
WPFで3Dグラフィックの仕事をやることになったんだが、皆目見当がつきません。
何か良い本は無いでしょうか。
492:デフォルトの名無しさん
10/03/31 22:46:11
まずは、Essential WPF。後は英語でググレ。
493:デフォルトの名無しさん
10/03/31 23:18:18
そんなもん読んでるに決まってるだろ。
他に無いでしょうか。
494:デフォルトの名無しさん
10/03/31 23:28:13
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→
だれか何かを挙げる→そんなもん読んでるに決まってるだろ→(ry
まぁ、挙げるだけ無駄ってことだなw
495:デフォルトの名無しさん
10/03/31 23:45:33
返答してる人が同一人物である保証すらないしな。
496:デフォルトの名無しさん
10/03/31 23:51:02
idほしいお・・・
497:デフォルトの名無しさん
10/04/01 00:12:50
3D PROGRAMMING FOR WINDOWS
498:デフォルトの名無しさん
10/04/01 07:31:59
WPF 3Dプログラミング―誰でも簡単に3Dゲームやツールが作れる最新技術!
499:デフォルトの名無しさん
10/04/01 11:24:40
WPFによる3Dプログラミングの極意 (民明書房)
500:デフォルトの名無しさん
10/04/01 14:45:12
質問かいてたら答えが見つかったけどもったいないのカキコ
HTMLのMarquee的な動作をするテキストブロックを作ろうと
<Canvas>
<TextBlock ~>
</Canvas>
としておいて、
下記のように添付プロパティのCanvas.Leftをアニメーションさせています。
<Storyboard x:Key="test" RepeatBehavior="Forever">
<DoubleAnimation
From="1"
To="100"
Duration="0:0:10"
Storyboard.TargetName="textBlock1"
Storyboard.TargetProperty="(Canvas.Left)"/> <!-- ←なんで括弧が必要? -->
</Storyboard>
括弧がなぜ必要なのか教えてください。
ひょっとして拡張部分のそういう仕様ですか?
↓
仕様でした><
501:デフォルトの名無しさん
10/04/01 21:45:22
GJ
502:デフォルトの名無しさん
10/04/01 22:58:08
Canvas canvas1
Ellipse elli1, elli2
ああるとして
canvas1.Children.Add(elli1);
canvas1.Children.Add(elli2);
とした後に
elli2 だけ Clear することってどうやれば良いんですか?
503:デフォルトの名無しさん
10/04/01 23:01:24
Remove
504:デフォルトの名無しさん
10/04/01 23:07:15
>>503
あ・・・ありがとう。
なんで見つからなかったんだろう。
505:デフォルトの名無しさん
10/04/02 04:26:05
>>491
Practical WPF Graphics Programming
この本なんかはどう?
506:デフォルトの名無しさん
10/04/02 07:52:30
>505
URLリンク(www.free-ebooks-download.org)
なんかあったがなんかいろいろばら撒く気満載泣きガス・・・
とりあえずダウンロードはできた。中身もあってるっぽいが・・・
507:デフォルトの名無しさん
10/04/02 09:09:51
最近Freeに影響されたかバラ撒くとこ増えたねえ。
それとも欧米では結構昔からこういうことするとこ多かったのかな?
508:デフォルトの名無しさん
10/04/02 09:55:54
ローマ字変数名しか使えない俺には無用
509:デフォルトの名無しさん
10/04/02 10:16:55
少なくともWPFに関する本はほぼすべてネットで拾えてしまうからなあ。
実に由々しき事態だ。(棒)
510:デフォルトの名無しさん
10/04/02 10:19:12
ちょっと目を通してみたけどWPFの本というよりグラフィックスの基礎の本だなあ
普通は可視化にOpenGLとか使うところをたまたまWPF使ってるだけな感じ
511:デフォルトの名無しさん
10/04/04 22:14:21
URLリンク(www.atmarkit.co.jp)
こちらを参考にしてWPFにExcelファイルを読み込まれるまではできたのですが、
これをWPFコントロールにそのまま表示させることって出来ないのでしょうか。
セルの1つひとつの情報を取ることはできるので
Gridをひいてセルを写すことは可能なのですが、
Excelの表をそのままWPFのwindowに表示させたいのです。
それとも、セルから全部コピーしないとダメなのでしょうか?
512:デフォルトの名無しさん
10/04/05 01:03:51
>WPFにExcelファイルを読み込まれる
たぶんもうちょっと理解してから弄った方がいい(というかformsで構築したほうがいいだろ)
こういう方法はあるみたい
URLリンク(social.msdn.microsoft.com)
513:デフォルトの名無しさん
10/04/05 02:52:05
>>512
ありがとうございます。
その質問+解答も見ていましたが
やはりその方法しかないみたいですね。
まずはWinFormで作ってみてから
WPFに応用してみます。
※Animationを使いたいので、WPFのが良いんです。
514:デフォルトの名無しさん
10/04/06 00:11:32
BeginAnimationって、
「さーアニメってこい!」
ってゴーサイン出すだけじゃん?
FromからToまで行き終わったときに
何か処理して欲しい場合って
どうすれば良いの?
FinishedAnimationとかあれば良いのに。
515:デフォルトの名無しさん
10/04/07 13:49:44
completedイベントなかったっけ
516:デフォルトの名無しさん
10/04/08 00:05:35
もうexpression4が出るのか・・・まあ出るわな
なにが変わるのかわかる資料が全然見当たんないなー
517:デフォルトの名無しさん
10/04/09 01:02:24
まだ出ないんじゃない?
518:デフォルトの名無しさん
10/04/09 01:05:14
無料あぷでは確定です
519:デフォルトの名無しさん
10/04/10 00:12:37
Focus()して成功する条件って何でしょう?
キーボードフォーカスをそのエレメントに移動できなければfalse、ってのは分かるのですが
そもそもキーボードフォーカスを移動できる条件って何でしょうか?
520:デフォルトの名無しさん
10/04/10 06:20:25
ウインドウの初期化が終わる前にコントロール関連のメソッドを呼ぶなと
521:514
10/04/11 15:59:49
>>515
おそくなりましたが
ありがとうございました。
522:デフォルトの名無しさん
10/04/11 21:49:49
>>520
CheckBoxのIsCheckedをTrueにしてると、初期化中にチェックイベントが実行されたりするあれ?
523:デフォルトの名無しさん
10/04/13 17:17:58
Expression BlendとかWPFで作られたソフトが起動しなくなった
524:デフォルトの名無しさん
10/04/13 17:33:22
環境壊れてるんじゃないか
525:デフォルトの名無しさん
10/04/13 21:48:30
趣味でWPFで3Dモデリングツールを作ろうとしてるんだけど、OpenGLとかDirectXでやった方が幸せかな?
ざっくりした質問で悪いけど、皆さんWPFの3Dって総合的にどう評価してます?
526:デフォルトの名無しさん
10/04/14 05:48:41
>>525
「wpf direct3d 制約」でググるいいよ。
正直、WPFの3Dっておまけ機能だと思ってるけど。
527:デフォルトの名無しさん
10/04/14 10:17:47
UIはWPFで3DビューはD3DImage+MDX/SlimDXくらいが現実的なんじゃね
528:デフォルトの名無しさん
10/04/14 13:52:27
URLリンク(msdn.microsoft.com)
XAMLなんて誰が考えたんだ?
こんなソース読む気も書く気もしねー
529:デフォルトの名無しさん
10/04/14 13:58:43
めちゃめちゃ頭のいい人
ただ、凡人の限界を知らなかったらしい
530:デフォルトの名無しさん
10/04/14 14:02:34
100円の和菓子1つを10万円の箱に入れてるようなもんだな
531:デフォルトの名無しさん
10/04/14 15:10:29
ツールの使用を前提にしてるよなぁ~
532:デフォルトの名無しさん
10/04/14 15:45:31
ワロタ
Xamlコードを出力するツールをまず自作しなきゃな。
blend?高いしイラネ
533:デフォルトの名無しさん
10/04/14 17:04:29
コードで計算してジオメトリ作ってxamlで書き出すんだよ?
まあなんとかいうモデリングソフトで書いてxaml出力してもいいけどね
534:デフォルトの名無しさん
10/04/14 18:41:57
>>528
> 2 次元から抜け出そう
心にぐさりと来ました
535:デフォルトの名無しさん
10/04/14 19:02:31
まだ入り込めてもいないのに
536:デフォルトの名無しさん
10/04/14 20:04:03
まあ普通はツールで出力するだろ
そのためのXMLだ
537:デフォルトの名無しさん
10/04/14 20:15:00
WPFの3Dって、モデリングツール(DirectX)で画像処理ー>XAMLフォーマットで出力という使い方を想定してんじゃねえの?
わざわざ手かせ足かせを嵌めて走る意味はなかろう。
538:デフォルトの名無しさん
10/04/14 20:59:43
Visual Studio 2010 + WPF4.0
を使っている方は少ないと思いますが、
「これが原因じゃない?」程度でも構いませんので
何か思い当たることがありましたら、お願いします。
■質問内容
以下の2つの方法で、挙動がことなります。
1) xmalで Button を配置して Click イベントを与えたもの
2) csファイルに Button b = new Button(); b.Click += new RoutedEventHandler(hoge);
として Click イベントを与えたもの
■挙動
1) Win7+タッチ対応ディスプレイにて、タッチでも Click が反応します
2) Win7+タッチ対応ディスプレイにて、タッチでは Click が反応しません
ButtonをManipulationで操作したいため、TouchUp などは使えません。
ボタンの Click イベントを 2) の方法で生成した Button に対して適用したい
のですが、どのようにしたら良いかアイデアが思いつく方、お願いいたします。
539:デフォルトの名無しさん
10/04/14 23:46:11
MouseMoveとか他のイベント捕まえてみたら?
540:デフォルトの名無しさん
10/04/15 00:01:33
MouseMoveですか?
ManipulationではなくMouseMoveで
操作しろということでしょうか?
541:デフォルトの名無しさん
10/04/15 07:51:03
WPFってなんでこんなもっさりしてんの?
Direct3Dとか少ししか触ってないので見当違いなこと言ってたらすまん。
1.UIElementツリー
2.Direct3DのVertexBufferとかMesh
3.実際の出力
WPFは主に1の画面要素自体とイベントなどのハンドリング、状態通知でごにょごにょとなどとそれらを2に反映させるものだと思ってるんだが、
1自体が重いのか1から2への変換などが重いのか?
2,3とかは高速なんだろうし、現状では削りようのないところなんだろうけれど。
たとえば画面のボタンの背景色を変えた場合は内部でどんな動作になるんざんしょ。
542:デフォルトの名無しさん
10/04/15 08:03:57
普通に1だろ
ちなみに1と2の間にはもう一つ層がある
Direct3DをGUI向けにラップしたネイティブコードのライブラリを使ってる
543:デフォルトの名無しさん
10/04/15 10:08:43
もっさりっていうならまずスペック更科よ
544:デフォルトの名無しさん
10/04/15 21:06:10
ゲーム作成にWPFを使いたいんですが、文献が少なくて困ってます。
オススメの文献とかありませんか?
545:デフォルトの名無しさん
10/04/15 21:33:45
ゲームってジャンルくらい書きなよ
546:デフォルトの名無しさん
10/04/15 21:40:07
WPFの文献だと日本語のはエッセンシャルWPFぐらいしかないんだっけかね?
547:デフォルトの名無しさん
10/04/15 21:40:59
失礼しました。2Dで、ベクター画像を用いた格闘ゲームです。
ですが、格闘ゲームに限らず、
WPFでのゲームプログラミングの情報自体が見つけられなかったので、
ほかのジャンルの情報でも充分助かります。
548:デフォルトの名無しさん
10/04/15 21:47:43
ギャルゲーくらいですよこれ。
ギャルゲーでビデオカード要求とかあり得ないんでギャルゲーでは主流になってもいいと思います。
549:デフォルトの名無しさん
10/04/15 21:50:22
WPFは基本的にビデオカード要求だけど
550:デフォルトの名無しさん
10/04/15 21:58:28
>>547
「エッセンシャル WPF」
「XAML プログラミング WPFアプリケーションの概要と開発」
このスレではこの2冊がそこそこ評判が良かった。
もし英語に抵抗が無ければ出版数が多い洋書で探した方が良いかと。
個人的には書籍じゃないけどMSDNのサンプルが一番役に立ったよ。
WPFでゲームを作ってる人は少ないだろうなあ。
DirectXかXNAを使った方が良いと思うんだけど。
551:デフォルトの名無しさん
10/04/15 22:29:22
google booksでwpf検索してみたら
だいたい用は足りると思う
552:デフォルトの名無しさん
10/04/16 00:11:31
ボタンの中に画像を置く
ということをXMALではなくC#のコードから実現したいです。
ネタとしては、ここの質問のC#版です。
質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
URLリンク(bbs.wankuma.com)
プログラム内で動的にButtonを配置したいため、
XAMLではなくC#から生成したいのです。
画像の情報も動的に取得するので、画像もC#で生成したいです。
(実際には、画像のパスを動的に取得し、そのパスからImageを生成)
ググってもXAMLの話ばかりです。よろしくお願いします。
553:デフォルトの名無しさん
10/04/16 00:23:24
Imageを持ったButtonのUserControlをXAMLで書いておいて、コード内で生成
554:デフォルトの名無しさん
10/04/16 01:45:52
>ということをXMALではなくC#のコードから実現したいです。
そうですか
>質問内容を理解しないでXAMLの話をする回答者が多いみたいですが。
そうですか
>XAMLではなくC#から生成したいのです。
そうですか
>画像の情報も動的に取得するので、画像もC#で生成したいです。
そうですか
>ググってもXAMLの話ばかりです。よろしくお願いします。
なにをよろしくですか
555:デフォルトの名無しさん
10/04/16 01:48:33
ちなみに
38526の回答以外のなにものでもないよ
質問内容を理解しないんじゃなくて、回答読んでも理解できない脳みそを恨め
556:デフォルトの名無しさん
10/04/16 02:02:05
>>554
中身の無いレスだな
お前みたいなのは来なくて良いよ
557:デフォルトの名無しさん
10/04/16 02:11:34
>>556
これがどれだけ程度の低い質問かわかんないってことは本人だろうな・・・
558:552
10/04/16 02:19:45
>>553
ありがとうございます。
UserControlなるものを使ったことが無いので
早速調べてみます。
>>554-555
38526がコードの話をしていることは分かっています。
>XAMLの話をする回答者が多いみたいですが。
と書いているのは、それを示しています。
38526の回等と>>553氏のレスが同値だと分かるレスを
していただき、ありがとうございます。
>>556
555のレスから得たことがありますので大丈夫です。
>>557
552は私です。
UserControlの話など、もっと汎用的な調べ方をすれば
沢山情報が得られるのかもしれませんが、具体的な事例が
あまりないというのは、それだけ壊滅的なほどに初歩的ということなのですね。
もっと勉強します。ありがとうございました。
559:デフォルトの名無しさん
10/04/16 02:20:54
>>557
は?程度の低さは関係ないだろ
どれだけ馬鹿なんだよ
560:デフォルトの名無しさん
10/04/16 02:21:32
>>558
違うよ
ButtonオブジェクトのContentプロパティにImageオブジェクト突っ込めばいいだけ
561:デフォルトの名無しさん
10/04/16 02:22:47
>>559
はいはい
お前が気の済むように回答してやれよ
562:デフォルトの名無しさん
10/04/16 02:29:42
>>561
>はいはい
え?マジで分かってないの?
こりゃ重症だな。関わらないでおくよ。
>お前が気の済むように回答してやれよ
うわーまいったねこりゃ。
既に解答が出ているのに更に回答しろと?
別の機会に謹んで回答させていただきますw
563:デフォルトの名無しさん
10/04/16 02:32:36
>>562
中身の無いレスだな
以下略
564:558
10/04/16 02:55:46
>>560
お恥ずかしいです。ありがとうございます。
質問をする前にスレを見返していましたが、
人を馬鹿にするレスしかしない人が多い中、
あきれずに回答していただきありがとうございました。
565:デフォルトの名無しさん
10/04/16 06:49:02
横着せずにWPF入門書を最初から読んでいけばコントロールの追加方法なんて最初にかいてある。
なんで未知の言語なのにチュートリアルすっとばそうとするかな。
別にすっとばしてもいいけどひとりで悩んでくれよ。ひとのせいにすんな。
566:デフォルトの名無しさん
10/04/16 07:26:49
これだからIDの無い板は。
567:デフォルトの名無しさん
10/04/16 07:51:10
>>565
おおむね同意だが
>ひとのせいにすんな。
これってどこを見て感じたことなんだ?
なぜこう感じたのか、俺には全く分からんのだが。