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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ユーザーインターフェースシステム、Windows Presentation Frameworkについて微に入り語るスレ。

Visual 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/
2デフォルトの名無しさん:2013/05/30(木) 20:54:31.58
WPFでヘッダーなど、各ウィンドウで用いる共通部品はどうやって作ればいいのでしょうか?
3デフォルトの名無しさん:2013/05/31(金) 00:46:54.53
>>2
プロジェクトを作って、コードを書いてビルドすればいい。
4デフォルトの名無しさん:2013/05/31(金) 01:12:15.48
>>2
多分ヘッダ付きのWindowを継承して作りたいのだと思うけど。
そういうTemplateを作ってスタイルあたりで設定する。
Windowの継承だと基底クラスはxamlを使えないので。
5デフォルトの名無しさん:2013/05/31(金) 10:05:20.14
XAMLでMainWindowにStackPanelを配置して、
このStackPanelのChildrenを、別のWindowのClickイベントの中で操作したい。
ってときには、どうやるのが定跡なんでしょうか?

MainWindow Classの中のstaticな関数をClickから呼べばいいのかと思ったけど、
そこじゃStackPanelはstaticじゃないから弄れないエラー言われて混乱中。
6デフォルトの名無しさん:2013/05/31(金) 10:50:43.05
>>5
その別のwindowにStackPanelのインスタンスなどを渡せばいい
72:2013/05/31(金) 10:53:58.45
ありがとうございました

App.xamlにコントロールテンプレートを書いて作りました。
ただし、以下に書くようなスタイルを適用したWindowで、スタイルの中のGridの中身を書くことはできますか?

<Grid Grid.Row="1" />としても、スタイルのGridをいじれるわけじゃなさそうですが
82:2013/05/31(金) 10:54:25.82
<Style x:Key="DefaultWindow" TargetType="Window">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Window">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MaxHeight="66" />
<RowDefinition Height="*" />
<RowDefinition MaxHeight="66" />
</Grid.RowDefinitions>
<!--ヘッダー部-->
<Grid Grid.Row="0" />
<!--メイン -->
<Grid Grid.Row="1" Background="Silver" />
<!--フッター部-->
<Grid Grid.Row="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
9デフォルトの名無しさん:2013/05/31(金) 14:14:02.51
Contentがない
10デフォルトの名無しさん:2013/05/31(金) 22:16:32.47
>>2 >>7
Pageってのもあるぞ。
11デフォルトの名無しさん:2013/06/01(土) 01:04:35.81
>>7
ContentPresenterを入れて。
12デフォルトの名無しさん:2013/06/05(水) 02:14:04.06
あれ? .NET でWinForm アプリを得意になって作ってたけど、
WPF ?何それ?
7年くらい前に雑誌で読んだことあったけど・・・これから来ると。
いつ来てたの??

俺のアプリ、どれも地味さ加減半端ないのは
時代遅れ丸出しだったってこと?
13デフォルトの名無しさん:2013/06/05(水) 02:25:48.95
いや、それはあんたの実力だろう
14デフォルトの名無しさん:2013/06/05(水) 08:12:44.96
>>12
俺は3年ぐらい前に移行したぞ。
そんな俺が言うのもなんだけど、VS2010あたりでブレークした気がする。
15デフォルトの名無しさん:2013/06/05(水) 08:25:14.57
ブレーク ブローク ブロークン
16デフォルトの名無しさん:2013/06/05(水) 08:35:45.82
すみません。質問です。
RenderTargetBitmapのnewに時間がかかることがあります。
たぶん20ms以上かかることがあるんですが
それ自体は別に良いのですが、その間メインスレッドまで
止まってしまうようなのです。
たぶんGCが動いてしまっているのかもしれません。
何か回避策はないものでしょうか?
17デフォルトの名無しさん:2013/06/05(水) 09:30:06.71
>>12
どーせ個人的に公開してるものなんて、ちょんプロレベルだろ?
誰も見た目なんか気にしてねーよw ちゃんと動けば。
wpf を日本語でググって勉強するとMVVM教に自動的に入信してしまうぞw
きっと入信すると結構勉強するハメになるぜ!
18デフォルトの名無しさん:2013/06/05(水) 12:00:33.23
しかしWin8発売して暫く経つけど、Modern(Metro)アプリでWPF大人気!デスクトップでもWinFormsオワタ!!ってなんないよね・・・
そもそもM$はWPFどうしたいん?WPF使わせたいならWinForms切らないと駄目だろ??
速やかに移行させる簡単な方法はAppleが何度も示してるだろ?WinForms切ればいいんだよ、最新の.NET Frameworkは最新のWPF以外で利用できなくすればいいだけ。
マジでM$がWPFをどうしたいのかまったくわからん。
19デフォルトの名無しさん:2013/06/05(水) 12:21:00.01
Win8自体下火だししゃーないやん
20デフォルトの名無しさん:2013/06/05(水) 13:18:52.36
WinFXなんてものもあったなぁ(遠い目
21デフォルトの名無しさん:2013/06/05(水) 13:24:32.22
WPFって未完成だもん
22デフォルトの名無しさん:2013/06/05(水) 17:14:59.28
>>18
WPFの書籍も全然出ないし
23デフォルトの名無しさん:2013/06/05(水) 18:06:45.30
winForm捨ててゴリ押ししたらそれこそ酷いことになる
24デフォルトの名無しさん:2013/06/05(水) 19:16:06.36
MS的にFormsは終わったUIになってるんだがな
25デフォルトの名無しさん:2013/06/05(水) 19:40:41.91
>>14
3.5のWPFはXPで文字が滲む欠点があって採用しづらかった
26デフォルトの名無しさん:2013/06/05(水) 20:52:17.64
WPFはとりあえず基本機能充実させるのが先
API系はwinforms追加しないといけないという情けない状態

それにしてもダイアログぐらいまともなの使わせろ
27デフォルトの名無しさん:2013/06/05(水) 22:38:21.67
うちの会社じゃ2〜3年前かWPFでまともな業務アプリ組めてるんだがな。
28デフォルトの名無しさん:2013/06/06(木) 00:17:26.95
まあいつの時代もこれなんだよな
新しい技術は、覚えれば使いやすいけど、細かいことをやろうとすると
融通が利かなかったり問題が起こったりする
結局古い技術の方が万能
29デフォルトの名無しさん:2013/06/06(木) 00:22:13.52
で、まだまだVB6が現役なわけですね。
30デフォルトの名無しさん:2013/06/06(木) 00:28:14.02
うむ
31デフォルトの名無しさん:2013/06/06(木) 00:50:53.36
VBはない
32デフォルトの名無しさん:2013/06/06(木) 01:49:47.03
wpfに出来てformにできないことって何?
33デフォルトの名無しさん:2013/06/06(木) 01:59:35.78
何だろう・・・?
34デフォルトの名無しさん:2013/06/06(木) 06:38:44.32
layout
35デフォルトの名無しさん:2013/06/06(木) 06:49:39.91
UIのアニメーションが簡単
36デフォルトの名無しさん:2013/06/06(木) 07:27:21.73
wpfに出来てformにできないこと ってだけなら
気合と時間かければ何でもできんじゃない?

ただWPFでやると簡単なことが滅茶苦茶
難易度上がって手間がかかるだけ
37デフォルトの名無しさん:2013/06/06(木) 08:06:08.92
>>36
業務アプリ作るには、もはやWPFの方が簡単。
手間と時間と難易度でWPFが圧勝。
38デフォルトの名無しさん:2013/06/06(木) 08:16:44.83
>>37

まさにそういってるんだけど…
あ、もしかして逆の意味に取られたか?

> ただWPFでやると簡単なことが、
> 【Formだと】 滅茶苦茶 難易度上がって手間がかかるだけ

のつもりで書いてたんだけど、

> ただWPFでやると
> 【Formでなら】 簡単なことが
>滅茶苦茶難易度上がって手間がかかるだけ

と読まれてしまったか? 全く逆の意味になるな、そう読まれたかw

でも、formだと気合と時間かけないとできないって前段落で書いてるだろ
まぁ結局37と意見は同じようだけど、
他にも逆の意味で読む人いるといけないから一応書いとく。
39デフォルトの名無しさん:2013/06/06(木) 08:35:33.82
WPFやった後にはもういちいちオーナードローとかしたくなくなる。
40デフォルトの名無しさん:2013/06/06(木) 08:36:21.12
いや>>37が文盲なだけ
41デフォルトの名無しさん:2013/06/06(木) 09:28:38.20
馬鹿
オーナードローしてダブルバッファ設定して
ちらつかなくなった時の達成感はすばらしいだろ
42デフォルトの名無しさん:2013/06/06(木) 10:49:19.55
業務用のデータ表示を何でやってるのか気になる
datagrid使ってるのかな?
アクセスより遅いし表示が汚いんで使う気にならない
43デフォルトの名無しさん:2013/06/06(木) 16:01:39.94
DataTemplate使いこなせばListBoxだけでかなりのことできるよ
44デフォルトの名無しさん:2013/06/06(木) 17:40:27.83
動的レイアウトが楽
45デフォルトの名無しさん:2013/06/08(土) 13:20:50.02
WPF3.5で作っています。
ListBoxを右クリックした時にContextMenuを出したいです。
 ・項目が無いところを右クリックした場合は「新規作成」のMenuを表示
 ・項目があるところを右クリックした場合は「名前の変更」「削除」のMenuを表示
のように表示されるContextMenuを切り替えたいのですが
どのように記述すれば良いのでしょうか。

現状では下記のように書いており、どこを右クリックしても
「新規作成」が表示される状態です。(そう書いているので当然ですが)

<ListBox ...>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="新規作成" Click="MenuItem_CreateCategory_Click" />
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
46デフォルトの名無しさん:2013/06/08(土) 13:23:05.53
WPF3.5で作っています。
ListBoxを右クリックした時にContextMenuを出したいです。
 ・項目が無いところを右クリックした場合は「新規作成」のMenuを表示
 ・項目があるところを右クリックした場合は「名前の変更」「削除」のMenuを表示
のように表示されるContextMenuを切り替えたいのですが
どのように記述すれば良いのでしょうか。

現状では下記のように書いており、どこを右クリックしても
「新規作成」が表示される状態です。(そう書いているので当然ですが)

<ListBox ...>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header="新規作成" Click="MenuItem_CreateCategory_Click" />
</ContextMenu>
</ListBox.ContextMenu>
</ListBox>
47デフォルトの名無しさん:2013/06/08(土) 13:30:40.11
ListBoxとListBoxItemに別のコンテキストメニュー設定すればいいんでないの?
48デフォルトの名無しさん:2013/06/08(土) 13:33:27.01
DataTemplateSelector使って、
項目のない行と、項目のある行に別々のDateTemplate適用させて、
それぞれのDataTemplateの中で別々のContextMenuを設定
でいい気がする
49デフォルトの名無しさん:2013/06/08(土) 16:05:39.14
>>47-48
レスをありがとうございます。
DataTemplateSelectorを使ったことが無かったので
色々とググっておりますが、使い方が分かりません。
参考になるサイトや、
もし簡単に書けるようでしたら
例を示していただけないでしょうか。

宜しくお願いいたします。
50デフォルトの名無しさん:2013/06/08(土) 16:16:54.94
ほれ

<ListBox
  ItemsSource="0123456789">
  <ListBox.ContextMenu>
    <ContextMenu>
      <MenuItem
        Header="ListBox" />
    </ContextMenu>
  </ListBox.ContextMenu>
  <ListBox.ItemContainerStyle>
    <Style
      TargetType="ListBoxItem">
      <Setter
        Property="ContextMenu">
        <Setter.Value>
          <ContextMenu>
            <MenuItem
              Header="ListBoxItem" />
          </ContextMenu>
        </Setter.Value>
      </Setter>
    </Style>
  </ListBox.ItemContainerStyle>
</ListBox>
51デフォルトの名無しさん:2013/06/08(土) 16:32:19.38
>>49

"DataTemplateSelector ListBox"でググッたら一発で出て来た使用例w

ttp://mikestedman.blogspot.jp/2009/04/datatemplateselector.html

この例だと、
BookingLineItemクラス・CashPaymentLineItemクラス・CCardPaymentLineItemクラスと、
いろんな型のごちゃまぜのコレクションをVMがSaleItemsってプロパティで公開して
そこにバインドしてる感じだね。
で、1つのListBoxだけど、1つ1つのクラスによって表示方法を変える仕組み。
52デフォルトの名無しさん:2013/06/08(土) 22:42:12.36
>>50
ありがとうございます。
いただいた例ですと下記URLと同じ例外が発生しており、
同解決方法で希望通りの動作にできました。
ありがとうございました。
ttp://stackoverflow.com/questions/3280121/contextmenu-in-style-setter

>>51
ありがとうございます。
ですが申し訳ありませんが、今の私には内容が難解すぎて
まったく理解できませんでした。
いつか理解できるようになるよう、勉強を続けます。
53デフォルトの名無しさん:2013/06/09(日) 16:49:02.56
このブログを参考にして、というか丸パクリして
PasswordBoxにヒント表示(何も入力されていない場合に半透明で表示する文字列)
するようにできました。
http://brentstewart.net/blog/post/2013/02/18/How-to-add-watermark-text-to-a-PasswordBox

ビルドは通って実行もできるのですが、
XAMLのデザイナーの画面で
エラーが表示されています。

エラー内容は以下の通りです。
エラー一覧の説明: "Enter your password" は変換できません。
エラーの詳細: "MyPasswordBox" で FormatException がスローされました: "Enter your password" は変換できません。 詳細を非表示にするにはここをクリックしてください。
          ハンドルされていない例外が発生しました
          文字列が有効な Boolean 型として認識されませんでした。
          場所 System.Boolean.Parse(Sring value)
          場所 System.ComponentModel.BooleanConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)

例外が発生しているにも関わらずビルドが通り、実行にも問題ありませんが
このエラーの解消方法は分かりますでしょうか。
54デフォルトの名無しさん:2013/06/09(日) 17:16:50.43
エラーそのままじゃないか?
GetPlaceHolderTextはなぜbool?
55デフォルトの名無しさん:2013/06/09(日) 17:43:30.51
>>54
String に変更したらエラー表示がなくなりました。
確かに仰る通り、気が付きませんでした。お恥ずかしい。
ありがとうございました。
56デフォルトの名無しさん:2013/06/14(金) 22:40:23.50
WPFってVB6とStruts1.xとVBAしか知らないうちの会社のPGでも使いこなせるかな?
57デフォルトの名無しさん:2013/06/14(金) 22:42:02.41
無理ww
58デフォルトの名無しさん:2013/06/14(金) 23:02:41.15
.NETへの移行からか…。勝手にWPF採用決めてPGに丸投げしたら絶対詰むぜ
59デフォルトの名無しさん:2013/06/14(金) 23:03:53.72
>>57
そうおっしゃらずに、そこを何とか!
使えないPG割り当てられて困ってるんです><
60デフォルトの名無しさん:2013/06/14(金) 23:09:10.87
使えるPGですら難しいのに
61デフォルトの名無しさん:2013/06/14(金) 23:09:18.32
しかし、今でも泥船に乗ってるのに、泥船から泥船に移行しなくても良いと思うんだがw
62デフォルトの名無しさん:2013/06/15(土) 00:37:40.97
>>59
しっかり分かっている人がいるなら
分かってない人にも業務画面のような仕事は割り振れると思う。
勝手にややこしい実装されないように
WPFの大部分を端折った手順書を用意しよう。
63デフォルトの名無しさん:2013/06/15(土) 03:04:35.18
勝手にややこしい実装ってのは、MVVMディスってんのか?
64デフォルトの名無しさん:2013/06/15(土) 03:32:07.69
VBA(笑)
65デフォルトの名無しさん:2013/06/15(土) 05:05:53.41
VB6いいよね
というか6は色々完成度高かったな
66デフォルトの名無しさん:2013/06/15(土) 07:41:29.31
すみません、誰か教えてください。

「Extended WPF Toolkit V2.0.0」をVisualStudio2012で使いたいんですが、
http://wpftoolkit.codeplex.com/documentation
の通りにやってみても上手くいきません。

プロジェクト → 参照の追加 → 参照(B).. →  Xceed.Wpf.Toolkit.dllを追加
これで参照設定にはちゃんと Xceed.Wpf.Toolkitが表示されています。
67デフォルトの名無しさん:2013/06/15(土) 07:46:27.87
xamlファイルに追記
  xmlns:xctk=”http://schemas.xceed.com/wpf/xaml/toolkit”

csファイルにも一応追記
  using Xceed.Wpf.Toolkit

例えばDateTimePickerを使う場合
  <xctk:DateTimePicker />
すると次のエラー
  名前 "DateTimePicker" は名前空間 "http://schemas.xceed.com/wpf/xaml/toolkit" に存在しません。
他のコントロール(CheckListBoxやIntegerUpDown等)でも同様
68デフォルトの名無しさん:2013/06/15(土) 07:49:08.93
自動補完で出てくる
xmlns:xctk=”clr−namespace:ExtendedToolkit” 

xmlns:xctk=”clr−namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit”
で試してみても同様

なんか基本的なところが間違っているんでしょうが、、
(連続投稿すみません。http抜いてもリンク禁止と怒られるので全角にしてあります)
6966:2013/06/15(土) 09:40:16.75
自己解決しました。
csソースからToolkitのコントロールを直接newしてやると利用できたので、
まさかとは思いながらVisualStudio2012をUpdate2からUpdate3RC2に更新したら
XAMLからも普通に利用できるようになりました。
酷いよマイクロソフト…

スレ汚し失礼しました。
70デフォルトの名無しさん:2013/06/15(土) 12:16:46.82
MVVMなんて業務アプリ作るには知らない方が良い知識。
71デフォルトの名無しさん:2013/06/15(土) 14:53:54.83
データバインドに滅法強いMVVMは非常に業務アプリ向きのアーキテクチャだろ
72デフォルトの名無しさん:2013/06/15(土) 15:30:21.20
別にMVVMでないとデータバインドできないわけではないですし
73デフォルトの名無しさん:2013/06/15(土) 17:19:39.30
56ですがもしかして同じ.NETでもWinFormsの方が簡単ですか?
SEが半透明表示やスクロールなんかのビジュアル面も重視したいから、って
WPFにしようってあまり詳しく考えずに採用しちゃったんですよ。
で、我が社はJavaとVB6(+VBA,COBOL)しかできる要員がいないので、
どうしたもんだか、と相談に来た次第です。
74デフォルトの名無しさん:2013/06/15(土) 17:27:13.33
まずそのSEと話せよ
75デフォルトの名無しさん:2013/06/15(土) 17:29:22.81
レイアウトの考え方はWPFのほうがJavaに近い
76デフォルトの名無しさん:2013/06/15(土) 17:29:59.98
そのSEがWPFを熟知してるならまあ大丈夫だろうが
そうでないならネット上での情報差もすごいあるし
WinFormsのが無難
WinFormsならdobonさえあればなんでも作れるからな
77デフォルトの名無しさん:2013/06/15(土) 17:32:26.73
まずVBerを抹殺してからJava要員にC#を叩きこめ
78デフォルトの名無しさん:2013/06/15(土) 20:06:16.67
現時点でWPFで何が可能で何が困難かまったく理解してないんですが、
WPFでストアアプリ風の、タッチ操作指向のUIを作るのはやはり難しい?

だったら素直にWinRTでやれよって思うかもしれないけど、
WinRTには頒布の問題や機能制限があって本質的に向いてない分野があるので
79デフォルトの名無しさん:2013/06/15(土) 22:18:33.40
>>73
仕事なら金払って業者に訊けよハゲ
80デフォルトの名無しさん:2013/06/15(土) 23:19:20.87
>>76
はぁ? って返したくなるな。
今じゃWPFの方が色んな意味で無難だろ。
81デフォルトの名無しさん:2013/06/15(土) 23:20:11.21
これこれ自分の立場でしかものを考えられない
82デフォルトの名無しさん:2013/06/15(土) 23:21:25.11
>>78
簡単だよー。WinRT より機能が多い分、どう作るのが良いのかは分かり辛いけど。
83デフォルトの名無しさん:2013/06/16(日) 09:55:05.99
WPFのベクタグラフィックってatomのGPUでもちゃんと動くもんなの?
なんか円表示するだけですげー重いんですけど・・・
ソフトの作りが悪いのかベクタ処理自体が重いのか判らない
84デフォルトの名無しさん:2013/06/16(日) 10:00:37.60
質問させてください。
VisualStudio2012からRibbonコントロールが標準(System.Windows.Controls.Ribbon.dll)に
なったということで使用してみました。
<RibbonButton>のLargeImageSourceに画像を設定して、ボタンの
アイコンを表示してみたのですが、画像アイコンの表示が
汚いです。
(表示される画像のエッジ部分がガタガタして、アンチエイリアスがかかっていない?)
綺麗に表示するためにはどうしたら良いのでしょうか?
宜しくお願いします。
85デフォルトの名無しさん:2013/06/16(日) 10:42:41.40
サイズがおかしいんじゃねーの
つーか画像に勝手にアンチエイリアスなんてかけられたら嫌だろハゲ
86デフォルトの名無しさん:2013/06/16(日) 10:53:23.09
ゆとりグラマーが多いんだよ
8784:2013/06/16(日) 12:29:52.23
>>85
回答有難うございます
<RibbonButton>のLargeImageSourceに設定する画像の
最適なサイズ、解像度について教えて頂けないでしょうか?
<Button>に画像を設定して表示する場合は、スムーズに表示されます。
<RibbonButton>でも同じように表示したいです。
88デフォルトの名無しさん:2013/06/16(日) 12:34:13.22
89デフォルトの名無しさん:2013/06/17(月) 11:10:38.94
WPFのTextboxなのですが、デフォルトでIMEがONになっていて
日本語入力モードになってしまいます。
IMEを無効にはできたのですが、デフォルトでIMEをOFF状態に
できなくて困っています。どうしたものでしょうか?
90デフォルトの名無しさん:2013/06/17(月) 11:16:34.79
困ってないだろ。1個1個設定したらいい。なにも問題はない
91デフォルトの名無しさん:2013/06/17(月) 11:36:55.15
すみません。ウィルスのせいでした。
92デフォルトの名無しさん:2013/06/17(月) 11:40:14.00
>>89

スタイルで設定すれば、Window内の全てでも、アプリ内の全てでも、
範囲はスタイルを置く場所次第だな

<Style TargetType="TextBox">
  <Setter Property="InputMethod.IsInputMethodEnabled" Value="False"/>
</Style>
93デフォルトの名無しさん:2013/06/17(月) 13:01:42.59
ありがとうございます。
どうもWPFのバグっぽいです。
XPの場合にloadedイベントでtxtbox.focus()をすると
そのtextboxがIMEオンになってしまいます。
7の場合はIMEオンになりません。これはあきらかにWPFのバグですね。
94デフォルトの名無しさん:2013/06/17(月) 18:55:24.08
Buttonコントロールのフォーカスを利用した処理をしようとしています。

Buttonを2つ置き、それぞれの名前を btn_a, btn_b とします。
2つのボタンには LostFocus() イベント発生時に処理をするように
btn_a_LostFocus() 関数と btn_b_LostFocus() 関数を設定します。

ここで、btn_a, btn_b は、
 ・ボタンからフォーカスが外れた時に処理をしたい
 ・ただし、btn_a ×N回 と btn_b ×M回 を交互に押している場合には
  処理は実行しない
としたいです。
btn_a, btn_b を、↑ボタン、↓ボタンとすると、↑と↓をポチポチ押している時は
処理はせず、別のコントロールにFocusが移った時に処理をしたい、という感じです。

以下のように書きましたが、if文の中に入ってしまい
希望の動作となりませんでしたが、どのように書けば良いのでしょうか。

private void btn_a_LostFocus(object sender, RoutedEventArgs e) {
if (!btn_b.IsFocused) {
// 処理(btn_aを押してからbtn_bを押すと、ここに入ってしまう)
}
}

宜しくお願いします。
95デフォルトの名無しさん:2013/06/17(月) 19:28:24.83
いまいち何がしたいのか文章理解できなかった
96デフォルトの名無しさん:2013/06/17(月) 19:33:32.57
AでもBでもないところにフォーカスが移ったら処理したいんだろ
生き写しのルール文章みたいだ
9794:2013/06/17(月) 20:02:29.45
>>95
確かに分かりにくい文章でした。すみません。

>>96
はい。AでもBでもないところにフォーカスが移ったら処理したいです。
9894:2013/06/17(月) 20:12:13.30
条件に「キーボードのフォーカス」も追加したら、
希望の動作になりました。
IsFocused はなくても十分なのかもしれませんが、
これから検証します。お騒がせしました。

private void btn_a_LostFocus(object sender, RoutedEventArgs e) {
if (!( btn_b.IsFocused || btn_b.IsKeyboardFocused )) {
// 処理
}
}

private void btn_b_LostFocus(object sender, RoutedEventArgs e) {
if (!( btn_a.IsFocused || btn_a.IsKeyboardFocused )) {
// 処理
}
}
99デフォルトの名無しさん:2013/06/17(月) 20:40:10.73
なぜか知らないがクソアプリだと分かってしまったわ
100デフォルトの名無しさん:2013/06/17(月) 20:45:14.60
読みたくねーコードだな
10198:2013/06/17(月) 21:14:24.93
>>99-100
コメントありがとうございます。
またお願いします。
102デフォルトの名無しさん:2013/06/18(火) 07:29:48.62
>>94

Aボタン・Bボタンの上から
マウス外すつもりがなくても外れちゃった、
なんてことは毎日百回単位で発生しそうだから
(普通は単純に無視されて何も起きないから気づかないだけ)
普通のアプリとかだとそれ、操作性最悪になりそうだけどな。
ユーザーが意図しない処理実行が多発しそうだ。

操作にゲーム性を求めてるとか、
実行したい処理が間違って実行しても問題ない処理とか
そういう場合は例外だけど。
103デフォルトの名無しさん:2013/06/19(水) 00:29:11.30
WPFのプロジェクト内にhtmlファイルを置いて
それを実行したいのですが、どうすれば良いでしょうか。

プロジェクトの構成:
 ProjectName
    +-- help ヘルプフォルダ
  +--- help.html  ヘルプファイル


呼び出し:
Process.Start("help\\help.html");

例外、ファイルが見つかりません。となります。
104デフォルトの名無しさん:2013/06/19(水) 05:00:19.86
パス通ってないフォルダなら、フルパス名で指定しないと。
105デフォルトの名無しさん:2013/06/19(水) 05:16:30.34
help ならexe直下に普通に置いておいても良いような…
106デフォルトの名無しさん:2013/06/19(水) 07:35:05.87
そもそもWPFの話題じゃない
107デフォルトの名無しさん:2013/06/19(水) 08:25:56.26
Process.Startって、関連付けされてるのを勝手に起動してくれるのか。
それは知らんかった。
108デフォルトの名無しさん:2013/06/19(水) 12:04:09.72
>>103
htmlが実行ファイルのあるフォルダ以下にコピーされてないから
109デフォルトの名無しさん:2013/06/19(水) 17:14:31.75
WPFの話をしよう
110デフォルトの名無しさん:2013/06/19(水) 21:07:09.20
じゃあWPFからchmファイルを開く場合はどう書くの?
ほら、WPFの話だよ。
111デフォルトの名無しさん:2013/06/19(水) 21:21:36.19
死ね
112デフォルトの名無しさん:2013/06/19(水) 22:57:46.54
>>111
うわぁ…
113デフォルトの名無しさん:2013/06/20(木) 20:23:03.61
WPFからchmファイルを表示する方法って質問しちゃダメなの?
俺も知りたいんだが。。。
114デフォルトの名無しさん:2013/06/20(木) 20:26:54.08
ため息しか出ないな
面白いと思ってんのか糞厨房
115133:2013/06/20(木) 20:44:04.64
あ、できたから良いや。
特にやり方書かなくても良いよね。

>>114
ため息ってどういう時に出るのか知ってる?
バカなんだなぁ。頑張ってね。
116115:2013/06/20(木) 20:44:38.34
未来人になっちゃったw
おっちょこちょいだなぁ。
117デフォルトの名無しさん:2013/06/20(木) 22:52:07.59
>>116
2ch初心者なんだろうけど
その都度のレス番じゃなく最初のレス番を入れたほうがいいよ

最近どこかのスレでも似たようなことしてる人いたなあ
118デフォルトの名無しさん:2013/06/20(木) 23:51:02.17
クルクルパーは饒舌だね
119デフォルトの名無しさん:2013/06/21(金) 02:37:46.79
>>117
名前にどのレス番を入れるのかは合によりけりでしょう。
あなたの考える「人の使い方」には合致しないのかもしれないけれどね。

ちなみに歴は12年くらいかなぁ。
中学生の頃からだが、もうそんなに経つのか。
120デフォルトの名無しさん:2013/06/21(金) 02:39:19.55
あ、玄人の玄の字が消えている。
今日は調子悪い日のようだ。ミスが多い。
121デフォルトの名無しさん:2013/06/21(金) 08:29:21.21
本当は40過ぎのオッサンのくせに何言ってんだ
122デフォルトの名無しさん:2013/06/21(金) 12:10:44.91
アホほど自分を盛るよね
123デフォルトの名無しさん:2013/06/22(土) 17:20:48.65
スプラッシュスクリーンの画像を
ローカライズすることって可能?
可能なら方法を教えてほしい。

WPFの場合、ソリューションスクリーンの画像ファイルの
プロパティの内、「ビルドアクション」を「SplashScreen」に設定する
ことしかできないから、ローカライズは無理なのかなぁ。
124デフォルトの名無しさん:2013/06/22(土) 17:48:40.12
Mainを自分で書けば制御はできる
サテライトアセンブリに入れれるのかは知らない
125デフォルトの名無しさん:2013/06/22(土) 18:09:14.32
>>124
ありがとう。
>Mainを自分で書けば制御はできる
これを解説しているサイトとか知らない?
126デフォルトの名無しさん:2013/06/22(土) 19:55:56.13
http://shiba-yan.hatenablog.jp/entry/20080721/1216633996
これでApplicationをRunする前にSplashScreen 作ってShowすればいいんでね
127123:2013/06/22(土) 20:07:02.47
>>126
WPFでもMainって書けたのか、知らなかった。
またひとつ勉強になりました。ありがとうございます。

>>124
意図を理解できておらず申し訳ありませんでした。
128デフォルトの名無しさん:2013/06/23(日) 00:06:32.97
System.Windows.Markup.XamlWriter
って4.5から非推奨になったん?
以前は.NET Framework Client Profileにあったのにさ
129デフォルトの名無しさん:2013/06/24(月) 20:25:44.02
質問です
TreeViewで現在表示されている(ただし選択はされていない)TreeViewItemを取得するにはどうしたらいいでしょう?
スクロール位置(VerticalOffset)とTreeViewItemの高さから計算すればいいかなと思いましたが、
もっと簡単な方法があればご教示ください
TreeViewItemのIsVisibleは見た目上表示されていないアイテムも含めTrueになっていて使えませんでした
130デフォルトの名無しさん:2013/06/24(月) 20:34:33.69
無いよ
裏技的にはあるけど使い物にならないと思う
131デフォルトの名無しさん:2013/06/24(月) 21:18:13.32
上の階層から順にヘッダーの領域を求めて表示されてるか計算するだけのような
132デフォルトの名無しさん:2013/06/24(月) 23:04:33.34
>>128
そもそも4.5はClient Profileが廃止されてるはずだが
133129:2013/06/24(月) 23:13:13.82
ありがとうございました
自力でがんばります
134デフォルトの名無しさん:2013/06/24(月) 23:15:03.16
フレームワーク4.5だとオブジェクトブラウザで見ると
Markupの下には
System.Windows.Markup.ValueSerializerAttribute
しか見当たらないんだ。なんか参照追加設定要るん?
135デフォルトの名無しさん:2013/06/24(月) 23:26:13.41
>>134
PresentationFramework.dll
136デフォルトの名無しさん:2013/06/29(土) 13:57:39.80
StackPanelの要素(ボタン)<=>List<String> みたいなバインドってやる方法なんか無い?
調べてみたけど全然ヒットせん
137デフォルトの名無しさん:2013/06/29(土) 14:00:32.19
なんか無い?って質問なら
ボタンにそれぞれDataContext設定すれば行けるよ

でもそういうことが聞きたいんではないんでしょ
もう少し正確に頼むわ
138デフォルトの名無しさん:2013/06/29(土) 14:00:41.71
意味がよく分からんけどItemsControl使えよ
139136:2013/06/29(土) 14:10:42.35
>>137
すまん大雑把すぎた
今いわゆるMVVMモデルに出来るだけ忠実な感じにしようと作ってるんだが、
StackPanelの上に1〜20個くらいの(モデルの内部状態に依存した)ボタンを
表示させたいんだ

Children.Addすりゃ出来るっちゃ出来るが、
これデータバインディングで出来ないのかな、と色々考えて調べたけど
俺のググリ力が足りないのか見つからんかった
という話なんだ

まで書いて更新したら>>138がエスパー力発揮してたんだけど、
View(ItemsControl.ItemsSource) <=> ViewModel(List<Button>) <= Model(List<String>)
でイケるのか…?
140デフォルトの名無しさん:2013/06/29(土) 14:14:15.76
微妙に正道ではないと思う
まずListBoxを作って、DataContextをContentにバインドしたButtonを持つDataTemplateをListBoxに設定して、
それからList<string>をListBox.ItemsSourceにバインド
141デフォルトの名無しさん:2013/06/29(土) 14:17:28.96
http://ideone.com/PStf4d
たとえばこんな
142デフォルトの名無しさん:2013/06/29(土) 14:17:42.28
RenderTargetBitmapを他スレッドからそうさする方法はないですか?
143デフォルトの名無しさん:2013/06/29(土) 14:18:29.08
1ヶ月悩むより他のアプローチを試そうとか考えない?
144136:2013/06/29(土) 15:03:29.48
>>141
おお、ありがとう
このままコピペったら使えるかと思いきや例外吐いて止まったけど、
こういう要領でやればいいのか
145デフォルトの名無しさん:2013/06/30(日) 01:33:18.22
>>142
Freezeするか、Dispatcher.Invoke等で該当スレッドで操作する。
146デフォルトの名無しさん:2013/07/01(月) 22:02:38.32
WPFでVBを使ってるバカっているの?
147デフォルトの名無しさん:2013/07/01(月) 22:08:02.12
居ないけど突然なんだ?
148デフォルトの名無しさん:2013/07/01(月) 22:11:04.05
発作だろ
そっとしとけ
149デフォルトの名無しさん:2013/07/02(火) 02:02:34.33
先生!F#でWPFはおやつに入りますか?
150デフォルトの名無しさん:2013/07/02(火) 03:57:37.86
とかけまして、
151デフォルトの名無しさん:2013/07/02(火) 10:26:15.57
そもそもWPFが使われていない。
152デフォルトの名無しさん:2013/07/02(火) 10:34:09.10
WPF(でVB)?を使ってるバカっているの\?
153デフォルトの名無しさん:2013/07/02(火) 10:35:56.32
VB.netでWPF使えるよね?ね?
154デフォルトの名無しさん:2013/07/02(火) 11:00:09.71
使えてもVB厨に使う能力は無い
155デフォルトの名無しさん:2013/07/02(火) 22:26:10.76
>>154
コピペだけでプログラミングできるという特殊な能力があるだろ
156デフォルトの名無しさん:2013/07/03(水) 08:04:57.13
コピペしようにも、コピー元のサンプルが、
VBほとんどなくてC#がほとんどだけどねw

まぁしかし、どのみちWPFなら
VBでもC#でも、XAMLの方が重要になるけど
157デフォルトの名無しさん:2013/07/07(日) 15:56:29.37
WPFの場合は、プログラミング言語としてVBやC#を使ってる部分が少ないから、
VBプログラマでも簡単にC#に移行できてるよ。
セミコロンで行を終わらせることと、{ }で括ることと、forループの回し方だけ教えとけば、
VBプログラマででもWPF (C#)プログラマに変身できる。
158デフォルトの名無しさん:2013/07/07(日) 21:05:24.92
っつーかさ
そもそもC#自体特に難しいことないんだけどな、C++/CLIなんか触るとやっぱC/C++は何倍も難解だと感じるし
C#は標準ライブラリが貧弱すぎて、外部ライブラリに頼らざる得なくて、そうなると結局C/C++が必要になってUnsafeやラッパー書かざるを得なくなって、そうするとC#のわかり易さが消えてなくなる
159デフォルトの名無しさん:2013/07/08(月) 06:42:14.94
そ、そうか
160デフォルトの名無しさん:2013/07/08(月) 10:23:29.22
ライブラリたくさんあるじゃん
161デフォルトの名無しさん:2013/07/08(月) 22:22:59.50
VBしかできない奴にXAMLは無理。
162デフォルトの名無しさん:2013/07/08(月) 22:25:12.38
プロパティ量産するMVVMでVB使うのは単なる苦行
163デフォルトの名無しさん:2013/07/08(月) 22:41:27.39
VBにも自動実装プロパティあるぞw
164デフォルトの名無しさん:2013/07/08(月) 22:46:58.16
MVVMで自動実装プロパティなんか使ってどうすんだよ
165デフォルトの名無しさん:2013/07/09(火) 01:17:58.92
OneWayToSourceかもしれねーだろうが
166デフォルトの名無しさん:2013/07/09(火) 12:45:32.43
コメントに「このプロパティはOneWayToSource専用です。」とか書くの?
アホらし。
167デフォルトの名無しさん:2013/07/09(火) 12:49:19.75
で、おまいらはどんなモノを作ってんだ?
俺に見せてみろよ。口だけのやつじゃないだろうなw
168デフォルトの名無しさん:2013/07/09(火) 12:59:51.85
入門したてなので僕も見たいです
他人のソース
169デフォルトの名無しさん:2013/07/09(火) 13:43:22.66
お前がまず晒せよw まず出させて安全なとこから攻撃しようとすんなよw
170デフォルトの名無しさん:2013/07/09(火) 14:09:38.96
俺が作ってるわけじゃないし、
具体的な名を出すつもりもないが・・・

この汚ねぇDataGridはどう見てもWPFです。
ありがとうございました。

ってな感じの製品は割とよく見かけるな。
以前WinFormsで作られてたソフトが、
0からリプレースされると同時にWPFへ移行ってケースが多いようだ。
171デフォルトの名無しさん:2013/07/09(火) 14:46:27.71
>>164
自動実装プロパティの変更時にPropertyChangedを上げるProxyで包めばいい
Castle Dynamic Proxy使えば簡単に作れるよ
172デフォルトの名無しさん:2013/07/09(火) 19:31:36.89
出来る出来ないじゃなくて向いてるかどうかなんだけどな
173デフォルトの名無しさん:2013/07/10(水) 03:54:23.69
Castle Dynamic Proxyと自動実装プロパティの組み合わせは悪くないな。

俺は自前の静的コード生成でやってるが、
やってることはCastle Dynamic Proxyとあまり変わらない。
174デフォルトの名無しさん:2013/07/12(金) 22:04:29.88
すいません。VS2012Expressをインストールして、
WPFアプリケーションのプロジェクトを作成して、
最初からあるgridの上にpaintを乗せて、
そのpaintのmouse_moveイベントを作ったんですが、
mouse_moveの処理が呼び出されません。どうなってますか。
ちなみにgridのmouse_moveを作ったら呼び出されました。
175デフォルトの名無しさん:2013/07/12(金) 22:13:06.42
割とマジでPaintって何よ
そんなクラスねーぞ
176デフォルトの名無しさん:2013/07/12(金) 22:16:52.10
すいません。
paintでなくImageでした。
Canvasでやってもmouse_moveがきません。
177デフォルトの名無しさん:2013/07/12(金) 22:27:36.91
Imageのサイズどうなってる
178デフォルトの名無しさん:2013/07/12(金) 22:30:51.05
下のようになってます。ウィンドウの左上にImageを配置してます。間違ってますでしょうか。。
<Image HorizontalAlignment="Left" Height="250" VerticalAlignment="Top" Width="300" MouseMove="Image_MouseMove_1" Margin="0,19,0,0"/>
</Grid>
179デフォルトの名無しさん:2013/07/12(金) 22:31:18.54
Imageは画像が設定されている状態で画像の上じゃないとMouseMoveが飛んできません
180デフォルトの名無しさん:2013/07/12(金) 22:37:54.57
WPFって背景色透明だとイベント来なくなかったっけ?
181デフォルトの名無しさん:2013/07/12(金) 22:41:10.26
なるほど。自前で何か描画しておいたらmouse_moveがくるようになるのかな。
サンクス
182デフォルトの名無しさん:2013/07/12(金) 23:02:00.89
>>180
nullはダメでTransparentはOKじゃねえの
183デフォルトの名無しさん:2013/07/13(土) 06:28:35.46
paintに自前で動的に図形描画するにはどうしたらいいですか
184デフォルトの名無しさん:2013/07/13(土) 07:10:05.30
DrawingContext
185デフォルトの名無しさん:2013/07/13(土) 07:19:22.83
TreeViewをバインドして使っているんですが、選択したアイテムをTreeViewItemのBringIntoViewメソッドで表示しようと思ったんだが
肝心のTreeViewItemを補足できなくて困っています

SelectedItemを参照しても、TreeViewItemじゃなくてバインドしたクラスが返ってきます
この制御自体はVMでもコードビハインドでも構いませんが、「選択したアイテムを表示させる」にはどうしたらいいですか?
186デフォルトの名無しさん:2013/07/13(土) 11:11:54.30
StackPanel<=>List<...>のデータバインドをする方法はないでしょうか……
今はやむなくStackPanelのChildrenにAdd(new TextBlock())みたいな形で
強引にやってるのですが、
コードビハイドに色々とコード書くと柔軟性が損なわれるのでなんとか
XAML側で定義した物にデータ流しこむだけで済ませたいのです

ListView/ListBox/DataGridだと要件を満たせない感じなので、
どなたかやり方に心当たりある方は教えてくれると助かります
187デフォルトの名無しさん:2013/07/13(土) 11:21:37.12
ItemsControl
188デフォルトの名無しさん:2013/07/13(土) 11:51:58.57
>>185
ItemContainerGenerator使え
いま外だからやり方は自分でググれ
189デフォルトの名無しさん:2013/07/13(土) 11:56:23.96
>>188
なるほど
var item = treeView.ItemContainerGenerator.ContainerFromItem(treeView.SelectedItem) as TreeViewItem;
で行けるんだ

ありがとうございました
190デフォルトの名無しさん:2013/07/13(土) 12:02:43.67
191デフォルトの名無しさん:2013/07/13(土) 12:03:20.60
>>189
いや、無理
192デフォルトの名無しさん:2013/07/13(土) 12:16:13.87
なぜWPFはこれほどまでに直感的ではないのか
193デフォルトの名無しさん:2013/07/13(土) 12:16:21.50
>>190
そのページの「TreeViewのノードを展開するには、なんとかしてTreeViewItemを取得しなければならない。」ってのは
「IsExpanded」をバインドすれば簡単にできるんだけどね
194デフォルトの名無しさん:2013/07/13(土) 12:48:26.30
>>192
お前の頭が悪いからそう感じるだけ。
195デフォルトの名無しさん:2013/07/13(土) 14:56:18.35
'
7/13(土) 10時 開演
●◆じゃあの夏祭り◆●
160:カミカゼ[]
2013/07/13(土) 01:22:08.42 ID:Onj7i2q50
ようおまいらwwww
眠いなあwwwおまいら睡眠たりてっか?www
なんか今年の夏は、お天道さまが気合はいってるからなあwww
夏バテに気をつけて体調管理は万全にしとけよwww
おう、そうだwww
明日の22時あたりにおもしろ情報持って遊びに来るからよろしくなwwww
じゃあのwww
--- 以下スレ情報 ---
高岡さんがフジ韓流ゴリ押し批判したら干されたのでウジテレビ凸
http://hayabusa.2ch.net/test/read.cgi/news4vip/1373622723/
196デフォルトの名無しさん:2013/07/13(土) 15:16:14.73
190のソースを手直ししたら一応動きました
TreeViewItem FindContainer(ItemsControl parent, object childItem)
{
var container = parent.ItemContainerGenerator.ContainerFromItem(childItem);
if (container != null)
{
// parentの子の中にContainerが見つかった
return container as TreeViewItem;
}
// parentの子を親として再帰検索
foreach (var item in parent.Items)
{
var child = parent.ItemContainerGenerator.ContainerFromItem(item) as ItemsControl;
if (child != null && child.Items.Count > 0)
{
var result = FindContainer(child, childItem);
if (result != null)
{
return result;
}
}
}
return null;
}

private void MyTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
var item = FindContainer(MyTreeView, e.NewValue);
if (item != null)item.BringIntoView();
}
197デフォルトの名無しさん:2013/07/13(土) 15:48:58.11
そりゃ動くでしょう
198デフォルトの名無しさん:2013/07/13(土) 21:47:30.24
CanvasのBackgroundで色を設定したらmouse_moveのeventが実行されるようになりましたありがとうございました。
しかし透明でもmouse_move来る使用の方がいいんじゃないのかこれなんでこうしてるんだろうか。。
199デフォルトの名無しさん:2013/07/13(土) 22:15:24.30
>>192
XAMLが直感的じゃないのは直接的な問題じゃないんだな。
でもそれは、XAMLを直接編集する必要がない出来の良いInterface Builderがあればの話。
現実はVSもBlendも糞みたいなBuilderで、WinFormsが今でも支持されてるのはBuilderが優秀だからだろ。
実際GUI作り込むのはDropshadowやアルファブレンディングを除けばWinFormsのが楽。
Javaがデスクトップで不人気で鯖サイドでしか使われないのはJavaFX含めてInterface Builderが糞だから
XcodeはなんだかんだいってInterface Builderが優秀ってか他と比べてかなりマシ
200デフォルトの名無しさん:2013/07/13(土) 22:31:31.16
XcodeのIBがマシとか精神障害を疑われるレベルの戯言
201デフォルトの名無しさん:2013/07/13(土) 22:40:37.85
Xcodeとかあり得ない
宗教怖い
202デフォルトの名無しさん:2013/07/14(日) 00:40:24.09
Javaがクライアントで使われないのはライブラリの品質の低さと
WindowsやOfficeにべったり依存した泥臭い要件に対応するのが困難なのが原因だろ
203デフォルトの名無しさん:2013/07/14(日) 01:26:15.24
>>192
WPFというかXAMLにどうしても筋が悪い技術の臭いを感じる一番の理由は
文字列リテラルへの過剰な依存だと思う。

インテリセンスも効かないし、せめてキーとする文字列に識別子を割り当てられるようには
できなかったのか
204デフォルトの名無しさん:2013/07/14(日) 02:25:05.38
>>202
ライブラリの品質については比較したことないから言及しないけど、量については.NETよりも豊富だろ
C/C++のライブラリの移植数はJavaの方が豊富だし、Javaと.NET両方に移植されてる場合でも完成度はJavaの方が歴史あるぶん高いし。
.NETの弱さって商用除いたライブラリの少なさと完成度だし

>>203
インテリセンス効かないの本当に致命的だよね、VS使うメリットがなくなる
205デフォルトの名無しさん:2013/07/14(日) 04:08:48.49
<t とか打った時点で<TextBox> やら <TextBlock> やら候補が表示されるし、
候補から選んだら
<TextBlock> </TextBlock>と閉じタグまでセットで入力してくれるけど
これってインテリセンスじゃないの?
206デフォルトの名無しさん:2013/07/14(日) 04:50:44.17
これ将来性あるの?
windowsフォームだけでいいんじゃねえの
食い扶持のなくなったmicrosoft技術者が
飯を食ってくために無理やり作り出したのがこれとかwindows8じゃねえの
メーカー製PCのバンドルソフトみたいなもんで
207デフォルトの名無しさん:2013/07/14(日) 12:42:07.64
仰るとおりだよ
208デフォルトの名無しさん:2013/07/14(日) 13:09:58.76
何を今更悟ったように再確認してんの?ってレベル
209デフォルトの名無しさん:2013/07/14(日) 18:19:08.15
じゃあなんでwpfの勉強してんの
210デフォルトの名無しさん:2013/07/14(日) 18:34:36.67
してないよ?
どういった経緯でそんな妄想を抱くに至ったの?
211デフォルトの名無しさん:2013/07/14(日) 19:00:05.23
じゃあなんでスレ見てるの
212デフォルトの名無しさん:2013/07/14(日) 19:07:41.49
もちろん馬鹿にするためにだよ
213デフォルトの名無しさん:2013/07/14(日) 19:22:58.74
暇人や名
まあ頑張れ
214デフォルトの名無しさん:2013/07/14(日) 19:26:35.99
Forms派がWPFを叩くのは分からんでもないが、Xcodeの子は何がやりたいんだろうか
215デフォルトの名無しさん:2013/07/14(日) 19:30:52.29
仲間に入れて欲しいんだろ
216デフォルトの名無しさん:2013/07/14(日) 22:26:17.60
Canvasの上に動的に描画したEllipseの、
MouseDownの処理を実装したいんですが、
どうしたらいいですか
217デフォルトの名無しさん:2013/07/14(日) 22:47:27.34
var ellipse = new Ellipse();
ellipse.MouseDown += ellipse_MouseDown;
Canvas.SetLeft(ellipse, 100);
canvas.Children.Add(ellipse);
218デフォルトの名無しさん:2013/07/14(日) 23:38:48.07
描画って言ってる時点でダメだと思うの
219デフォルトの名無しさん:2013/07/15(月) 00:27:26.49
イメージのRectangleに対応したイベントなんて自作するに決まってんだろ馬鹿なのか
ゲームだけじゃなく、デザインに拘ったUI作るときも、イベントが存在しないんだから自分で実装する他ないだろ
220デフォルトの名無しさん:2013/07/15(月) 06:50:50.86
なんでゲーム前提なの
221デフォルトの名無しさん:2013/07/15(月) 07:23:14.64
これがゲーム脳か
普通のアプリにはゲームループとかないからイベントドリブンだよ?
222デフォルトの名無しさん:2013/07/15(月) 09:38:28.72
Canvas上に複数個のEllipseを配置した後で、
ボタンクリック時に、Canvas上の全てのEllipseのWidth,Heightを取得したいんですが、
どうしたらいいですか
223デフォルトの名無しさん:2013/07/15(月) 09:46:54.27
VisualTreeHelper
ActualWidth/Height
224デフォルトの名無しさん:2013/07/15(月) 11:24:46.57
なんや単純にこれでできるやないか

for (int i = 0; i < Canvas.Children.Count; i++)
{
double width = ((Ellipse)Canvas.Children[i]).Width;
}
225デフォルトの名無しさん:2013/07/15(月) 11:51:11.09
>>224
その他の物があるとw
226デフォルトの名無しさん:2013/07/15(月) 12:33:12.15
>>218
猫画って言おうぜ
227デフォルトの名無しさん:2013/07/15(月) 20:18:13.28
gridの上に配置したCanvasに動的にEllipseを
Canvas.Child.Add(elps);
してるんですが、サイズの大きいEllipseだと
Canvasからはみ出して表示されてしまいます。
Canvas内にしかEllipseが描画されないようにするにはどうしたらいいですか。
あとCanvasに黒い外枠を付けるにはどうしたらいいですか
228デフォルトの名無しさん:2013/07/15(月) 20:35:49.28
ClipToBounds
Border
229デフォルトの名無しさん:2013/07/15(月) 21:03:44.85
おお、できました!
ありがとうございました
230デフォルトの名無しさん:2013/07/16(火) 07:33:04.26
なんか全くViewModelにバインドとかしてなくて
XAMLとそのコードビハインドだけでほとんど占めてそうな
フォームチックなやりとりだな
231デフォルトの名無しさん:2013/07/16(火) 12:23:26.79
VS2013でもWPFからBlend扱えないらしいな
M$ちゃんWPFとBlendを一体どうしたいん??
そもそも何故VSとBlendを分けたのかも意味不明で、Blend消えた今も統合しないままなのも謎過ぎるんだが
現状、リッチ(死語)なUI作る労力や効率がWPFもWinFormsも変わらない、もしくはドキュメントやQ&Aが豊富なWinFormsの方が易しいんだがwww
232デフォルトの名無しさん:2013/07/16(火) 19:52:47.94
WPFはこのままフェードアウトしていくだろうね
MS信者以外の開発者は誰も使おうとしないし
「これからはWPF!」ってMSが言い始めて何年経つよ?
もういい加減だまされてるって気付けよ
233デフォルトの名無しさん:2013/07/16(火) 20:07:49.07
JUNKUDOにWPFの本を探しに行ったらエッセンシャルWPFという本1冊して置いてなかった
amazonでWPFって入れたら中古本からしか購入できないのばかりwこりゃ将来性ないわw
234デフォルトの名無しさん:2013/07/16(火) 20:11:57.13
Ellipseに、
elps.MouseRightButtonDown += elps_MouseRightButtonDown;
して、右マウスダウンで処理が実行されるようにしたんですが、
elps.StrokeThickness = 1;
にしてるので、マウスの位置を合わせるのが難しいです。
描画されている線の太さよりも、マウスで選択できる領域(太さ)を大きくしたいんですが
どうしたらいいですか
235デフォルトの名無しさん:2013/07/16(火) 20:13:31.40
>>233
まあWinFormは大本のMSが切り捨ててるから将来性はもっと皆無なんだがな…
236デフォルトの名無しさん:2013/07/16(火) 21:08:22.08
>>233
その1冊だけでいいんだよ。
後はmsdnのドキュメントが充実してるからそっちをちゃんと読んでればいい。
237デフォルトの名無しさん:2013/07/17(水) 01:42:57.89
>>234
当たり判定用にもう一個、線が太くて透明なEllipseを置くとか
238デフォルトの名無しさん:2013/07/17(水) 02:19:58.76
もうさ、フロントエンドであるビューはXAML捨ててHTML5+CSS3でいいんじゃねーの?
RazorだとPHPみたいに密結合しちゃうし、<Script>で外部ライブラリ読み込めばいいんじゃね?
そもそもXAML使えるデザイナーなんて、お目に掛かったことがないんだがw
俺はデザインもプログラムも両方できるけど、こんな人間は日本では少数だろ
239デフォルトの名無しさん:2013/07/17(水) 02:52:23.33
いやむしろWebFormsの実装がWPFに置き換わるべき
240デフォルトの名無しさん:2013/07/17(水) 12:18:26.50
ストアアプリがイマイチ盛り上がらないのもXAMLのせいだよな
241デフォルトの名無しさん:2013/07/17(水) 12:33:57.50
XAMLってすごく見にくいよね
242デフォルトの名無しさん:2013/07/17(水) 12:34:01.45
ストアアプリが盛り上がらないのは
PC向けならストア専用にするメリットがなく
WPは奇特な人間以外買わないからだろう
243デフォルトの名無しさん:2013/07/17(水) 19:37:43.25
ストアアプリはHTML5+JSでも書ける
ストアアプリはWPでは動かない
244デフォルトの名無しさん:2013/07/17(水) 19:49:37.39
世間に存在するWindowsPCの94%で動かないアプリを誰が作るねんという話だわ
従来通りかWebアプリケーションにするに決まってんだろ

分かったらさっさとWin8を0円で売れ
245デフォルトの名無しさん:2013/07/17(水) 19:54:13.29
乞食・・・
246デフォルトの名無しさん:2013/07/17(水) 19:56:38.00
0円でも要らないw
247デフォルトの名無しさん:2013/07/17(水) 19:57:38.92
ピクチャーパスワードだけ下さい
248デフォルトの名無しさん:2013/07/17(水) 20:02:12.73
Win8は軽いしキャンペーン中は3000円で買えたから
Mac上の仮想マシンのゲストOSとしては最高
249デフォルトの名無しさん:2013/07/17(水) 21:59:43.54
赤坂レオンのWPFプログラミング入門が届いたがXAMLの記述がほとんどなしw
きっと天才プログラマにはXAMLが流行らないことが分かっていたんだなw
250デフォルトの名無しさん:2013/07/18(木) 06:51:26.20
誰それ?
参院選立候補者?
251デフォルトの名無しさん:2013/07/18(木) 07:34:26.82
全く存在知らない本だけど、金をドブに捨てたみたいだなw
252デフォルトの名無しさん:2013/07/18(木) 07:43:17.52
WPFもXNAと同じ運命をたどるのか
253デフォルトの名無しさん:2013/07/18(木) 07:49:50.86
Appleのようにドラスティックに切り捨てればいいのに、M$ちゃんそれに気づいたからOSでは切り捨て始めたんでしょ?
WinFormsとWebFormsを切り捨ててWin/WP/ASPすべてWPFに統一すべきだよ
254デフォルトの名無しさん:2013/07/18(木) 10:06:26.92
赤坂の本は買ってはいけない
255 忍法帖【Lv=2,xxxP】(1+0:5) :2013/07/18(木) 10:12:54.28
256デフォルトの名無しさん:2013/07/18(木) 10:25:47.06
WPFやVSの本はこれから出せないだろうね
年一でOSが変わってVSもおそらく年一で出る
半年でpreview出るから
賞味期限が異常に短い本になる
257デフォルトの名無しさん:2013/07/18(木) 20:50:42.81
ベストセラーは狙えないが需要があることには変わりないじゃん?
258デフォルトの名無しさん:2013/07/18(木) 21:25:22.02
ここ1~2日のレスのどこから需要を見出したのか
259デフォルトの名無しさん:2013/07/18(木) 21:25:55.39
赤坂のwindowsゲームプログラミングは良かった
260デフォルトの名無しさん:2013/07/18(木) 21:50:39.72
二年毎でも毎度改版して出してる本はあるし
それが一年毎になったところでペースが変わるとも思えんが
261デフォルトの名無しさん:2013/07/19(金) 12:01:27.15
そうやね
Windows7 買ったの 3年目やったし
262デフォルトの名無しさん:2013/07/19(金) 15:10:14.30
WPFどころか.NET自体将来性あんの?
263デフォルトの名無しさん:2013/07/19(金) 15:12:34.59
どうだろう。VB6すらWin8.1でサポートされるらしいし。
264デフォルトの名無しさん:2013/07/19(金) 15:30:16.20
VB6の件は開発できるってわけじゃないしな
265デフォルトの名無しさん:2013/07/19(金) 19:08:00.05
C#=.NETだろ?だったらもうC#駆逐は無理だろ
XamarinがあるからC#これからもっと伸びるぞ
っつーかもうWindowsプラットフォームってビジネスとしては大手メーカーが握ってる官公庁以外で仕事なんてねーぞwww
266デフォルトの名無しさん:2013/07/19(金) 19:14:04.69
現実の世の中は未だにCOBOLで金の計算してFORTRANで天気の計算してるんですよ
267デフォルトの名無しさん:2013/07/19(金) 19:47:43.56
そんなのとてつもなくニッチな例をあげてドヤ顔とかレトリック以外のなにものでもないだろ馬鹿
268デフォルトの名無しさん:2013/07/19(金) 19:53:28.38
ニッチとかお前の世界がどれだけ狭いか知れるから他の人には黙ってような
Winプログラマーってこんなんばっかですか?
269デフォルトの名無しさん:2013/07/19(金) 19:56:12.04
んで?>>268の世界はどれだけ広いんですかー?
おたくが「一部」かかわったものが一体なにでどれだけ有名なの?w
270デフォルトの名無しさん:2013/07/19(金) 19:57:59.51
残念ながらこんなんばっかですよ
馬鹿が染らない内に立ち去られることをお勧めしますね
271デフォルトの名無しさん:2013/07/19(金) 20:27:29.74
現実の世の中は未だにCOBOLで金の計算してFORTRANで天気の計算してるけど
それで食ってけてる人間はほんの一握りということだな

誤差レベルの話だよ
272デフォルトの名無しさん:2013/07/19(金) 21:02:41.58
中心座標と半径と開始角度と終了角度を与えられて、
PathとPathFigureとPathGeometryとArgSegmentを使って
円弧をcanvasにAddする処理を作りました。
んで、このcanvas上のpathから逆に円弧の中心座標と開始角度と終了角度を取得して、
パラメータを変更して円弧を再描画をしたいんですが、どうしたらいいでしょうか。
このPathを使った方法だと開始点、終了点、半径、などの情報しか得られないので、
これらの情報から計算するしかないのでしょうか。
依存プロパティとかデータバインドとか継承とか使ってうまいこと中心座標を円弧に持たせて
getできるようにできないでしょうか
よろしくお願いします。
273デフォルトの名無しさん:2013/07/19(金) 21:37:57.28
WPFがどうとかより
普通にクラス設計の話じゃね?
274デフォルトの名無しさん:2013/07/19(金) 22:12:31.51
>中心座標と半径と開始角度と終了角度を与えられて、

すでにそれらの情報を持ってるのになんで再計算するんだよ
275デフォルトの名無しさん:2013/07/19(金) 22:22:31.25
いや、ダイアログ上のエディットボックスの入力を使って、
円弧を作ってんです。
ダイアログを閉じたらそれらの情報は失われます。
276デフォルトの名無しさん:2013/07/19(金) 22:29:12.47
もしかしてCADなんかも表示されてるオブジェクトから
座標計算してると思ってる?
277デフォルトの名無しさん:2013/07/19(金) 22:30:24.69
そもそも計算値の生存期間までダイアログと一致させる必要ねえだろ
どっかに退避させとけ
そのくらい頭使えYO
278デフォルトの名無しさん:2013/07/19(金) 22:30:36.80
中心座標を格納するメンバ変数もないし、
canvas.Children.Add(path);
したあと、再度このpathにアクセスして
ダイアログに中心座標を表示したいんですが、どうしたものかと。。
279デフォルトの名無しさん:2013/07/19(金) 22:33:15.70
ダイアログに格納先渡しとけよ
280デフォルトの名無しさん:2013/07/19(金) 22:33:34.09
いくらなんでも頭固すぎるぞ
281デフォルトの名無しさん:2013/07/19(金) 22:34:19.97
退避させるのはいいんですが、
その後このpathからどうやってその退避させたデータに
アクセスさせたらいいのかと。。
282デフォルトの名無しさん:2013/07/19(金) 22:37:36.41
円弧は動的にいくつでも作れるので、
静的に一つだけ存在しているというわけではないんです。
念のため。
283デフォルトの名無しさん:2013/07/19(金) 22:37:50.22
勉強用のドローツールのサンプルコードどこかにあったけど場所を忘れた
284デフォルトの名無しさん:2013/07/19(金) 22:40:21.41
>>282
listbox当たりから勉強しなおしたらいい
285デフォルトの名無しさん:2013/07/19(金) 22:40:39.00
Path作ったときにDictionaryにパラメータ入れとけばいいだろ
Pathが何個あろうが引ける
286デフォルトの名無しさん:2013/07/19(金) 22:41:38.38
Shape派生させて一通り依存関係プロパティで公開して
後はバインディングで
ていうか楕円は駄目なん?
287デフォルトの名無しさん:2013/07/19(金) 22:42:24.77
>>285
入れ物が違うだろw
288デフォルトの名無しさん:2013/07/19(金) 22:43:41.76
分からない人がなぜ分からないのか分からないという典型的な例
君達は教える側に向いてないねw
289デフォルトの名無しさん:2013/07/19(金) 22:46:25.78
知ってるけど
ここはアルゴリズムや設計思想のスレじゃない
290デフォルトの名無しさん:2013/07/19(金) 22:47:26.65
コレクションとか言うのを使って
pathと中心座標のデータを保存しといたらいいのかな。
これだと2重管理になるから円弧を削除するときが面倒そうですが。。
291デフォルトの名無しさん:2013/07/19(金) 22:48:19.23
2重?
どこが?
292デフォルトの名無しさん:2013/07/19(金) 22:49:47.16
コレクションとかいうのって言うくらいだからプログラムのプの横線描き始めたくらいなんだろ
293デフォルトの名無しさん:2013/07/19(金) 22:51:11.17
EllipseとかLineだったらこんな面倒なことにならないのになあ。。
294デフォルトの名無しさん:2013/07/19(金) 22:52:22.52
別に継承して自分でプロパティ持たせてもいいんだぜ
そこまで知ってるのか知らんが
295デフォルトの名無しさん:2013/07/19(金) 22:56:39.62
>>294
Shapeを継承するんです?
それをどう実装したらcanvas.Children.Add()できるのかがわからない
296デフォルトの名無しさん:2013/07/19(金) 23:00:57.97
無謀だろ
297デフォルトの名無しさん:2013/07/19(金) 23:01:13.61
珍しくスレに5人ぐらい人がいる気がする…
IDでないからなあ
298デフォルトの名無しさん:2013/07/19(金) 23:20:28.61
どう実装したらって言われても
普通にAddするだけじゃん RectangleやらEllipseやらと変わらん
299デフォルトの名無しさん:2013/07/19(金) 23:24:38.98
ちょっとソースをアップして頂けませんか
そいつをnewしてcanvas.Children.Addしたらcanvasに円弧が描画される。
GetCenterPosとかしたら中心位置が得られて、
SetCenterPosしたらその点を中心に描画されるような
300デフォルトの名無しさん:2013/07/19(金) 23:30:12.49
やめとけ
時間の無駄
301デフォルトの名無しさん:2013/07/19(金) 23:34:35.76
ちょっとと言いつつ全てを要求 格好いい

中心位置だのなんだのはコントロールが持ってるもんじゃなくてデータとしてデータオブジェクトが持ってるもんだ
だからコントロールに聞きに行くことはない
302デフォルトの名無しさん:2013/07/19(金) 23:35:11.92
Document-Viewアーキテクチャを知らないからこうなる
303デフォルトの名無しさん:2013/07/19(金) 23:50:19.83
ひっそりソース書いてたけど
アップしてくださいませんかというレス見てやめた
304デフォルトの名無しさん:2013/07/20(土) 00:11:14.80
めんどくさいのでLineで作ってみた
まあ動いてるよ

動作としては
追加ボタンを押すとダイアログが出てくる
数値を入れてOKを押すとcanvasに線が出てくる
線を左クリックするとまたダイアログが出てきて数値変更後OKを押すと更新される

誰かさんと違うのはLineDataと言うクラスを作って
そこに座標が入ってる


まじめにMVVMやるのはめんどくさかったのでLineのTagにLineDataぶっこんである
クリックするとそれを元にダイアログ開く(Datacontextに突っ込んでるだけ)

もし円弧でやるならArcDataに入力値を入れると
ArgSegment向けの値を出すプロパティを実装する
円弧を画面に出すときはそれを使う

もちろんGetCenterPosなんて不要
305デフォルトの名無しさん:2013/07/20(土) 00:15:48.80
まあTagなんか使わなくても
誰かが書いてたようにDictionaryでもいい
そしたら優先順位死ぬかもしれないけど
306デフォルトの名無しさん:2013/07/20(土) 07:09:18.44
あと円弧の開始点や終了点を書き換える方法についてなんですが、現状だと
(PathFigures)((PathGeometry)path.Data).Figures[0]).Segments[0]. 〜
見たいな感じになってて凄く扱いづらいんですが、
line.X1 = 100;
みたいな感じで扱いやすくできないんでしょうか。
円弧だけやたら難しくないですか。
307デフォルトの名無しさん:2013/07/20(土) 07:17:24.82
てか、そんなお絵かきとか、これまでWPFの開発で必要一度もないし、
今後10年使ってても多分一切使わない世界だなw
308デフォルトの名無しさん:2013/07/20(土) 11:41:11.86
WPFってお絵かきのためのフレームワークだと思ってた
309デフォルトの名無しさん:2013/07/20(土) 11:46:39.08
思ってていいぜ
310デフォルトの名無しさん:2013/07/20(土) 11:49:10.10
>>306
無いから必要ならクラスでもメソッドでも好きな物作れ
作りたくないならプログラム自体やめましょう
311デフォルトの名無しさん:2013/07/20(土) 13:58:46.95
作る気はあるんですが、
canvas.Children.Add()
出来る形で自作の円弧クラスをどう実装したらいいのかがわからない
312デフォルトの名無しさん:2013/07/20(土) 14:01:51.37
やってみてもいないのが丸分かりだあ
単にPath継承したクラスのインスタンス作成してAddしてみてもいないですね
313デフォルトの名無しさん:2013/07/20(土) 14:35:40.99
コンソールアプリからやり直すべき
314デフォルトの名無しさん:2013/07/20(土) 14:56:56.64
取り敢えず描画コマンドで画面に絵を描いた後に、
この絵を動かすのはどうやるんだろう?
ってなってた中学生時代の自分を思い出す。
315デフォルトの名無しさん:2013/07/20(土) 16:49:50.55
どうやらWPF以前の問題に躓いてるようだぬ
316デフォルトの名無しさん:2013/07/20(土) 17:28:22.15
>>312
Pathはシール型だから継承できないです。
わかってないのはあなたじゃないですかw
317デフォルトの名無しさん:2013/07/20(土) 17:47:11.61
まだやってるのけ?
ユーザコントロールでもなんでも突っ込めばわかるだろ
318デフォルトの名無しさん:2013/07/20(土) 17:48:17.25
間違てた

まだやってるのけ?
ユーザコントロールでもなんでも作ったものを突っ込めばわかるだろ
319デフォルトの名無しさん:2013/07/20(土) 18:23:43.72
できたわ。
どうやってやったか教えてやらね。
役に立たない2chのクズ共がwざまあw
320デフォルトの名無しさん:2013/07/20(土) 18:36:14.05
なんで悪態ついてるのか知らないけど
君のレベルは多分他の連中の中で群を抜いて低いと思うよ

最初の段階のレスの意味すら理解できてないし
321デフォルトの名無しさん:2013/07/20(土) 18:42:03.77
そらC#勉強しだして数日なんだからこんなもんだろ
俺はこの1日で成長したわけだがここで煽ってた連中は煽って何か成長したのか?
時間とエネルギーを無駄にしただけじゃないのかw
成長した俺様の勝ちw時間とエネルギーを無駄にしたお前らの負けw残念w
322デフォルトの名無しさん:2013/07/20(土) 18:57:23.82
幼稚園児に成長したって言われてもそうですかとしか言いようがない
もう来なくてもいいよ
323デフォルトの名無しさん:2013/07/20(土) 19:06:16.79
>>321
ここに書き込んだから成長した訳じゃないんだろ
お前も時間とエネルギーを無駄にしただけってわけ
324デフォルトの名無しさん:2013/07/20(土) 20:37:19.23
エネルギー保存の法則
325デフォルトの名無しさん:2013/07/21(日) 08:59:14.27
役に立たない2chのクズ共がw
326デフォルトの名無しさん:2013/07/21(日) 09:04:43.35
TextBlockで表示した文字が滲んでしまいます。
滲まずに表示させるにはどうすればよいでしょうか。
327デフォルトの名無しさん:2013/07/21(日) 09:26:28.58
かつてのWPF最大の欠陥です
WPFがまともに使い物になるのはWPF4からだと考えてください
.NET4以降にアップデートしましょう
328デフォルトの名無しさん:2013/07/21(日) 10:01:33.03
>>327
.NET Framework は4.5がインストールされてるのですが、WPFのバージョンが3のようです。
どうやれば4以降にできるのでしょうか。

環境はWin8 pro/VS2012 Proです。
329デフォルトの名無しさん:2013/07/21(日) 10:14:13.67
ならWPF4.5で動いてるよ
UseLayoutRoundingをTrueに
330デフォルトの名無しさん:2013/07/21(日) 11:42:37.30
>>329
色々やってみたのですが変わりません。

<TextBlock x:Name="infoText" TextWrapping="Wrap" LineStackingStrategy="BlockLineHeight"/>

<TextBlock x:Name="infoText" TextWrapping="Wrap" LineStackingStrategy="BlockLineHeight" UseLayoutRounding="True"/>

でいいんですよね? False もやってみたのですが、変わりませんでした。
331デフォルトの名無しさん:2013/07/21(日) 12:36:18.68
OSのバージョンは?
332デフォルトの名無しさん:2013/07/21(日) 12:52:00.40
>>331
この板、ID出ないのか。
Win8 pro/VS2012 Proです。
333デフォルトの名無しさん:2013/07/21(日) 13:36:43.69
SnapsToDevicePixelsじゃねえの
334デフォルトの名無しさん:2013/07/21(日) 13:40:43.84
>>333
両方入れないとダメだったと思う。
335デフォルトの名無しさん:2013/07/21(日) 16:10:49.23
プロジェクトのプロバティー開いて「対象のフレームワーク」を.net4以上に変えたらどうなるかな?
勿論バックアップしてから弄ったほうがいい
336326:2013/07/21(日) 16:41:13.80
SnapsToDevicePixelsもやってみましたが変わらず。
対象のフレームワークは .NET Framework4 Client Profile でした。
念の為に.NET Framework4/.NET Framework4.5に変えてみましたが、ビルドできなくなった。(名前 'Properties' は現在のコンテキスト内に存在しません。)

自作のアプリじゃない(GitHubでソースが公開されている)ので、もうこういうものだと諦めて使います。
いろいろアドバイスありがとうございました。
337デフォルトの名無しさん:2013/07/21(日) 17:19:29.04
役に立たないクズばかり
338デフォルトの名無しさん:2013/07/21(日) 17:34:17.57
お前が筆頭だがな
339デフォルトの名無しさん:2013/07/21(日) 17:36:37.96
PCのDPIが普通じゃなくなってたりして
340デフォルトの名無しさん:2013/07/21(日) 18:15:01.44
テキストがにじむのならクリアタイプあたりがあやしい気が
341デフォルトの名無しさん:2013/07/21(日) 18:31:59.30
座標が整数じゃないからかも
342デフォルトの名無しさん:2013/07/21(日) 20:42:39.07
>>341
それを整数にするのがUseLayoutRoundingじゃないのか?
ただこれ、ルートで使えって書いてあるが
>ルート要素の UseLayoutRounding を true に設定する必要があります。
>(中略)親の座標がピクセル境界にない場合、子の座標はピクセル境界になりません
343326:2013/07/22(月) 09:24:18.53
>>342
ダメもとで一番上位のフォームのWindowにUseLayoutRounding=True"を入れてみると文字がにじまなくなりました。
ありがとうございました。
344デフォルトの名無しさん:2013/07/23(火) 20:51:30.01
WinRTのXAMLで質問があります
ListViewのアイテムテンプレートにFrameを配置し、FrameのContentに動的生成したRichTextBlockをバインドします
プロジェクトを実行しListViewを前後にスクロールすると画面外に出たアイテム内のRichTextBlockが隣り合ったアイテム内のRichTextBlockと入れ替わっていることがあります
(入れ替わるアイテム内のRichTextBlockはどちらも画面外です)
この現象は確認した限りではアイテムパネルが仮想化されているときになりました
どうすればこの現象をなくすことができますか?
やりたいことはListViewのアイテムに動的生成したRichTextBlockを配置することです
345デフォルトの名無しさん:2013/07/23(火) 22:19:31.88
>>344です
3行目の説明に間違いがありました
RichTextBlockが入れ替わるのは隣り合っているアイテムではありませんでした
正しくは前後にスクロールされて、画面外にでたアイテムが新しく画面内に入ってきたアイテムと入れ替わっていました
346デフォルトの名無しさん:2013/07/23(火) 23:10:59.34
WinRTはスレチ

ストアアプリにはRichTextBlockという不気味な物があるんだな
347デフォルトの名無しさん:2013/07/24(水) 19:45:56.34
x,y,半径を持ったクラス作って、ViewModelでそれのListを扱い、
それを自動的にView側に描画するような仕組みって
どうにか作れたりしないもんか
View側に処理書くの嫌なんだよな
348デフォルトの名無しさん:2013/07/24(水) 20:00:49.49
おかえりください
349デフォルトの名無しさん:2013/07/24(水) 20:15:11.07
データバインドだけで行けそうだけど
350デフォルトの名無しさん:2013/07/24(水) 20:16:09.93
役に立たない2chのクズ共がw
351デフォルトの名無しさん:2013/07/24(水) 20:21:28.83
>>347
そういうのはむしろVにコード書きまくってカスタムコントロールに閉じ込めろ
無理にMVVMにするよりその方が全体としては綺麗だし再利用性も高くなる
352デフォルトの名無しさん:2013/07/24(水) 20:24:54.74
>>351
なるほど、やっぱりカスタムコントロールでなんとかするしか
道はないのか…
ありがとう、参考になった
353デフォルトの名無しさん:2013/07/24(水) 21:47:38.17
これは読んでおくべきっていうWPFの洋書って何かありますか
354デフォルトの名無しさん:2013/07/25(木) 00:48:15.26
>>353
ペントハウスとプレイボーイ
355デフォルトの名無しさん:2013/07/25(木) 01:40:07.99
ハスラーのがもっといいよ
356デフォルトの名無しさん:2013/07/25(木) 09:15:26.77
itemscontrolとデータバインドを使いなはれ
357デフォルトの名無しさん:2013/07/27(土) 06:34:21.87
なんでC#ってpublic変数推奨みたいなことになってるの
10年前猫も杓子もオブジェクト指向って言ってた頃は、
変数はprivateにして関数経由で読み書きすべきと主張してたジャン
この態度の変わりようはなんなんn
358デフォルトの名無しさん:2013/07/27(土) 06:54:11.97
>>357
C#はプロバティ-至上主義だろ
お前は何処の星出身だよ

仮にお前がpublic変数を現場で使えと言われているなら、言っている奴が特殊だ
359デフォルトの名無しさん:2013/07/27(土) 07:10:12.60
誰も推奨なんかしてないし>>357が何か誤解してるとしか思えんな
360デフォルトの名無しさん:2013/07/27(土) 07:13:55.81
外部に公開するクラスじゃないならなんでもかんでも
プロパティにする必要も無い気もする。
361デフォルトの名無しさん:2013/07/27(土) 08:30:34.30
publicな自動実装プロパティってpublic変数と実質同じじゃないの?
362デフォルトの名無しさん:2013/07/27(土) 08:35:29.82
利用する側のコードを変更することなく、後で自動実装でないプロパティに変更できる点が違う
なんでもかんでも公開するべきではないという意味では、フィールドより少しだけマシとはいえやはり必要最小限にするべき
363デフォルトの名無しさん:2013/07/27(土) 09:08:45.28
あと、private setが便利だよな
364デフォルトの名無しさん:2013/07/27(土) 09:18:39.04
setter, getterなんか面倒くさいだけやったんや
365デフォルトの名無しさん:2013/07/27(土) 10:42:58.17
一応WPFの話題に戻すと
XAMLからデータバインドに使えるのは
publicなプロパティだけだから注意な
366デフォルトの名無しさん:2013/07/27(土) 11:45:59.66
どうせ暗黙のgetter,setter生成に依存しちゃうなら
いっそpublic識別子の代わりにproperty識別子みたいなの
言語仕様に入れちゃえば良かったのにね
367デフォルトの名無しさん:2013/07/27(土) 11:50:04.46
D最強
368デフォルトの名無しさん:2013/07/27(土) 20:27:57.08
Delphi最強
369デフォルトの名無しさん:2013/07/27(土) 20:40:49.60
プロバティーは外部から変更されたタイミングが簡単にわかるし
外部から読み取り専用にして内部データを保護できるとか、便利な仕組みだよな
自動実装の不満点は初期化の仕組みがないことだわ
370デフォルトの名無しさん:2013/07/27(土) 20:48:03.55
そういう機能主義的な観点で言えば、Java信者の人がよく言うように「そんなのgetter/setterでも可能」
って話になるからなあ。

そうじゃなくて、OOの属性という概念をプログラミング言語に素直に写像したものが
プロパティだと考える方が納得的だと思う。
371デフォルトの名無しさん:2013/07/27(土) 20:54:00.33
>そんなのgetter/setterでも可能

そんなの言い出したらCでも可能
372デフォルトの名無しさん:2013/07/27(土) 21:03:54.75
C言語で十分やったんや
それ以降は言語製作者のオナニーやったんや
373デフォルトの名無しさん:2013/07/27(土) 22:02:36.12
C+1 ぐらいでいいから C を完全に滅ぼせるのがほしかったな
374デフォルトの名無しさん:2013/07/29(月) 11:59:36.92
ところが.NET4.0ではバグのせいでXAMLから
privateなプロパティをバインドできてしまうという
375デフォルトの名無しさん:2013/07/29(月) 12:05:13.59
放置すればするほど阿鼻叫喚が待ってるわけか…
修正するなら下手な救済を与えずバッサリ行って欲しいね
376デフォルトの名無しさん:2013/07/29(月) 20:46:36.32
全部public変数で問題無かったんや
377デフォルトの名無しさん:2013/07/29(月) 23:35:33.45
Unity3Dがpublicフィールド推奨してるせいで
ますます進むpublicフィールドへの回帰
378デフォルトの名無しさん:2013/08/02(金) 17:23:11.89
金額を表示・入力する TextBox が結構あるので、
右寄せ表示と通気用の書式を Style にまとめようと思った。

けど、StringFormat って Style で指定できなくね?
Label の ContentStringFormat なら Style で指定できるのに。

なんだこれ。
379デフォルトの名無しさん:2013/08/02(金) 17:31:00.27
ネタにマジレスは禁止です><
380デフォルトの名無しさん:2013/08/02(金) 20:58:46.78
WPF leak でぐぐると山ほどでてくるけど、直す気はあるのかな?
グラフィック系のハンドルだのファイルハンドルだのオブジェクトだのメモリだの
だだ漏れじゃないか

あとMediaElementが不定期にファイル握ったままになるのを直してほしいわぁ
381デフォルトの名無しさん:2013/08/03(土) 14:54:57.13
実際それでWPFで作られたアプリが不安定になるわけじゃないし、
メモリリークしてたっていいんじゃないの
382デフォルトの名無しさん:2013/08/03(土) 22:48:57.60
アプリ起動時にマウスカーソルの位置をアプリの中央に設定したいんですがどうしたらいいですか
383デフォルトの名無しさん:2013/08/03(土) 23:06:19.81
win32api
384デフォルトの名無しさん:2013/08/03(土) 23:11:51.72
チューチューマウス
385デフォルトの名無しさん:2013/08/03(土) 23:13:55.10
WPFってマウスの位置設定もできないのか…
386デフォルトの名無しさん:2013/08/03(土) 23:44:04.07
別にWPFである必要性がないような...
System.Windows.Forms.Cursor.Positionって普通に使えるよね。
名前空間の仕分けが変なのは今更言っても
387デフォルトの名無しさん:2013/08/04(日) 04:45:40.10
てかWPFに限らず
勝手にマウスカーソル移動させられちまうアプリって
俺がユーザーならそれだけで不満爆発
388デフォルトの名無しさん:2013/08/04(日) 07:18:34.43
System.Windows.Forms.Cursor.Position
それ読み取りしか使えなかったっす
389デフォルトの名無しさん:2013/08/04(日) 07:37:36.40
PointToScreenで相対座標で設定しようとするとできなかったっす
390デフォルトの名無しさん:2013/08/04(日) 10:07:04.31
低能だわマルチポストだわ
391デフォルトの名無しさん:2013/08/04(日) 10:12:38.35
しかもマルチだし
392デフォルトの名無しさん:2013/08/04(日) 10:47:32.16
役に立たない2chのクズ共がw
393デフォルトの名無しさん:2013/08/04(日) 11:13:19.86
>>388は完全に間違いだし
>>389はたぶん使い方間違ってるんだろうし
394デフォルトの名無しさん:2013/08/04(日) 11:15:14.91
おそらくSystem.Drawing.PointとSystem.Window.Pointの違いに気づいてないとか
395デフォルトの名無しさん:2013/08/04(日) 12:30:17.55
visual studio 2012みたいな外観のアプリケーションってタイトルバー含めて自分で描画してるんですかね?
396デフォルトの名無しさん:2013/08/04(日) 20:24:40.22
vs2010expressでマウス操作でGUI部品を貼り付けて実行したら、
GUI部品のレイアウトが微妙にずれてるんですが、どうなってますか
vs2012だったらこういうことはないですか
397デフォルトの名無しさん:2013/08/04(日) 20:43:54.62
馬鹿はどんな道具を使っても無理
398デフォルトの名無しさん:2013/08/05(月) 01:05:16.54
WPFは"論理的に"正しくレイアウトするんだ
クソ細かいことを気にしていちいち微調整したがるジャップには合わない
399デフォルトの名無しさん:2013/08/05(月) 05:58:04.06
そもそもWPFはポトペタで作るもんじゃない
それじゃごく初歩的な単純な画面くらいしか作れないし
WPFで作る意味もない
400デフォルトの名無しさん:2013/08/05(月) 18:51:47.85
しかしWPF製のアプリケーションって全然増えないねw
ストアアプリは別として
401デフォルトの名無しさん:2013/08/05(月) 21:31:52.44
散々だけど当たってなくもないw
http://www.infoq.com/jp/articles/Win8-LOB-Options
402デフォルトの名無しさん:2013/08/05(月) 22:17:03.78
全く持ってその通りでワロタ…
403デフォルトの名無しさん:2013/08/05(月) 22:31:04.73
metroはデータベースが触れるのだったら使いたいけど
今のままじゃ無理だな

妙な設計のおかげでデータベースがレスポンス寄越す前に
metroが休止したりとかさんざんな状態になる
404デフォルトの名無しさん:2013/08/05(月) 22:34:18.22
ストアアプリなんてゲームを除けばWebサービスのクライアントを作るための
ものなんだからそんなもん要らん
ちょっとリッチなHTML+JSにすぎない
405デフォルトの名無しさん:2013/08/06(火) 13:33:12.01
画像ファイルをスムーズに拡大/縮小したく下のようなコードを書きました。
スライドバーを動かすとそれにあわせて拡大縮小します。
ただ一定範囲ごとにひっかかりがあります。たぶん拡大縮小の画像を
生成しているんじゃないかと思うのですが何かスムーズになる方法は
ないものでしょうか?環境はVS2008です。

Class Window1

  Dim img As New Image

  Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded

    Dim dec As New TiffBitmapDecoder(New Uri("c:\a4.tif"), BitmapCreateOptions.IgnoreColorProfile, BitmapCacheOption.Default)
    For Each frame As BitmapFrame In dec.Frames
      img.Source = frame
      Canvas1.Children.Add(img)
      Exit For
    Next

    Slider1.Maximum = 1000
    Slider1.Value = 500

  End Sub

  Private Sub Slider1_ValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.RoutedPropertyChangedEventArgs(Of System.Double)) Handles Slider1.ValueChanged
    img.RenderTransform = New ScaleTransform(Slider1.Value / 1000, Slider1.Value / 1000)
  End Sub

End Class
406デフォルトの名無しさん:2013/08/06(火) 13:40:02.89
>>405
見てないけど引っかかるのはスクロールバーと関係ない?
407デフォルトの名無しさん:2013/08/06(火) 13:53:07.20
>>406
スクロールバーは表示されていないので関係なさそうです。
408デフォルトの名無しさん:2013/08/06(火) 13:57:44.85
てかデータバインド使えよ それだけで済む
409デフォルトの名無しさん:2013/08/06(火) 14:01:18.02
BitmapCacheOption.Default
のおかげか一度拡大縮小するとその大きさの部分はスムーズに
拡大縮小されます。
410デフォルトの名無しさん:2013/08/06(火) 18:07:45.52
DrawingVisualでRenderするようにしたらスムーズになりました。
お騒がせしました。
411デフォルトの名無しさん:2013/08/07(水) 02:48:08.12
if (control.Visibility == Visibility.Visible)
{
control.Visibility = Visibility.Collapsed;
}
else
{
control.Visibility = Visibility.Visible;
}

こうやっていちいち書くのは面倒なので一行で書けるようにしたいのですがどうすればいいですか?
controlは常に同じ型とは限りません。
412デフォルトの名無しさん:2013/08/07(水) 04:52:01.34
? と : 使えば一行。
413デフォルトの名無しさん:2013/08/07(水) 12:39:54.34
>>412 が書いてるように三項演算子書くと一行だけど
ロジックミスを起こしやすいところなので
実際はToggleVisibility()あたりのメソッドを自作しておいた方がいいかもね
初心者はメソッドをうまく使えないので難しいかもなあ


> controlは常に同じ型とは限りません。
ここも不安要素w
414デフォルトの名無しさん:2013/08/07(水) 18:50:49.87
Shapeクラスを継承して作った自作クラスをリストに入れておいて、
リストから順番に取り出してポリモーフィズムみたいにして順に関数を実行したい

for(int i=0; i<リストの要素数; i++)
{
  Shape myShape = (リスト)[i];
  myShape.doSomething();
}

この場合に doSomething関数をどうやって作ったらいいんでしょうか
Shapeに関数追加とかできるんでしょうか
415デフォルトの名無しさん:2013/08/07(水) 18:52:57.61
え?
継承ってどういうことか分かってます?
416デフォルトの名無しさん:2013/08/07(水) 19:04:38.02
どうやってって…継承して普通にメソッド書いたらいい。ググれ
wpf関係ないし言語仕様の話だ
417デフォルトの名無しさん:2013/08/07(水) 19:06:00.15
なんか夏休みですのー
この2,3日の書き込みのレベルがw
418デフォルトの名無しさん:2013/08/07(水) 19:13:07.27
継承した関数に書いてもShape型では実行できないじゃないので
419デフォルトの名無しさん:2013/08/07(水) 19:33:56.97
>>418
継承かと思ったら致命傷だったw
てか、アンタの考えているものを実現できるのは拡張メソッドというやつ
継承は継承したクラスが元のクラスの機能を使えるってものだから、逆は無理だよ
420デフォルトの名無しさん:2013/08/07(水) 19:58:14.79
Shapeを継承したMyShapeにdoSomethingを仮想関数で作っておいて、
MyShapeを継承した自作クラスでdoSomethingを実装して、
MyShape型で関数呼び出せばいけたわ
役に立たない2chのクズ共がw
421デフォルトの名無しさん:2013/08/07(水) 20:07:31.27
幼稚くさ
422デフォルトの名無しさん:2013/08/07(水) 20:23:17.92
var myShape = リスト[i] as MyShape;
if( myShape != null )
{
 myShape.doSomething();
}

でいいやん
423デフォルトの名無しさん:2013/08/07(水) 20:33:03.76
MyShapeを使わずにShapeにdoSomethingを追加して同じことをすることはできんのか
最新のテクノロジーのプログラミング言語なんだからそのくらいできんのか
424デフォルトの名無しさん:2013/08/07(水) 20:42:01.29
まぁ、君には無理だよ
いい加減消えなさい うざいから
一人で頑張ってこのスレのレベル落とさなくてもいい
425デフォルトの名無しさん:2013/08/07(水) 20:55:00.05
>>423
出来るよ
426デフォルトの名無しさん:2013/08/07(水) 21:34:19.84
分からないならレスしないで下さい。うざいだけです
427デフォルトの名無しさん:2013/08/07(水) 22:06:02.81
デリゲートでも添付しとけ
428デフォルトの名無しさん:2013/08/08(木) 02:34:11.58
猛暑だなーw
もう少しまともな質問できるレベルまで勉強してから手出せばいいのに
429デフォルトの名無しさん:2013/08/08(木) 05:48:22.93
>>423
dynamic daikuma = リスト[i];
daikuma.doSomething();
430デフォルトの名無しさん:2013/08/08(木) 08:28:58.57
なんで拡張メソッド使わないんだよ…
431デフォルトの名無しさん:2013/08/08(木) 19:57:49.22
拡張メソッドでオーバーライドンできますか
432デフォルトの名無しさん:2013/08/09(金) 21:38:19.29
Ride on Time
433デフォルトの名無しさん:2013/08/10(土) 08:28:38.01
>>429
田舎者乙
434デフォルトの名無しさん:2013/08/10(土) 14:33:53.24
Ownerウィンドウが移動したら子ウィンドウも連動して動くようにするにはどうしたらいいですか?
435デフォルトの名無しさん:2013/08/10(土) 17:22:45.53
なんでWPFってGUI部品の背景白なん
436デフォルトの名無しさん:2013/08/10(土) 17:30:39.69
あなたのお好きな色に染まります
437デフォルトの名無しさん:2013/08/13(火) 18:04:26.79
Xamlでの Width="*" はC#だとどう書けばいいのですか?
438デフォルトの名無しさん:2013/08/13(火) 18:19:32.27
>>437
http://www.atmarkit.co.jp/ait/articles/0904/03/news104_3.html

WPF始めたばかりだけど、この記事はなかなか良記事だと思った。
最後の方はちょっと荒れてるけど
439デフォルトの名無しさん:2013/08/13(火) 18:20:57.78
XAMLで書けよ
440デフォルトの名無しさん:2013/08/13(火) 23:00:49.87
>>437
GridLength 使え
441デフォルトの名無しさん:2013/08/15(木) 00:48:17.00
ビジネス的にはXP対応のために4.0までで作るのがいいのかな?
クライアントで4.5を仕事に使ってる人はいる?
442デフォルトの名無しさん:2013/08/15(木) 01:01:19.49
人生いろいろビジネスもいろいろだと思いますが...

Windows Formでかつパッケージソフト寄りのアプリなら、XPのシェアを考慮すれば
現状では4.0が最適解かなと思うけど、WPFだとそもそもXP対応をうたって
大丈夫なのかなという気もする。
443デフォルトの名無しさん:2013/08/15(木) 01:03:00.81
XPなんて1年以内に絶滅するの確定なのに、XP対応で新システム作るのはアホでは
444デフォルトの名無しさん:2013/08/15(木) 01:04:15.41
それどんなパソヲタ脳だよ
445デフォルトの名無しさん:2013/08/15(木) 02:12:37.37
公式サポート来年の4月で切られるのなんて周知されてるだろ
まだ7への更新を検討してない所なんて本当に少数の筈だが
446326:2013/08/15(木) 08:24:54.43
サポートが終わるだけで、XP自体が使えなくなるわけではない。
業務系などは100%誤動作しない事がわかっていなければ、簡単にOSを変更できない。
その為のVMとかもあるので、何かの事情があるのでなければXPを視野に入れるのも間違いではないぞ。

個人的には無駄だと思うけどなw
447デフォルトの名無しさん:2013/08/15(木) 08:54:41.85
>>442
4.0と4.5は互換性のない変更が含まれてるけど共存しないから
4.0はなしだよ。選ぶなら3.5か4.5のどっちか。
448デフォルトの名無しさん:2013/08/15(木) 10:55:26.88
3.5はないわ
バグ放置されてるもん
4.0も放置されてるけど新しいほうがまし
449デフォルトの名無しさん:2013/08/15(木) 11:46:27.42
>>446
ビジネス感覚のないお方。

それは考え方が普通と逆で、パッケージソフト寄りのアプリという前提条件付きであれば、
現状のXPのシェアを考えれば、XPに対応しないなどという選択肢は
特別な事情がない限りありえない。

OSのセキュリティー機能なんか気にするのは、個人ユーザーならパソヲタの一部と
企業ユーザーなら、担当者が問題発生時に責任追求されることを嫌う大企業だけ。
450デフォルトの名無しさん:2013/08/15(木) 11:50:08.60
プログラミングWindows 第6版 上 ~C#とXAMLによるWindowsストアアプリ開発 価格: ¥ 7,350
って買いですか?
XAMLやWPFに的を絞った本なのかな
451326:2013/08/15(木) 11:56:28.24
>>449
XPを除外する必要はないという意見なんだが?
452デフォルトの名無しさん:2013/08/15(木) 12:08:57.42
>>449
よっぽどアレな職場なのか、個人向け開発しかしてないのか知らんが、
今から新しく作るのにXP対応するのはコストの無駄だろ

セキュリティ機能気にしない企業は企業というレベルに達してない
顧客の情報や内部資料が全世界に公開されるリスクを取れる企業がマトモな訳がない

XP入れたパソコンでインターネットと接続しないならまだ分かるが、
そういう環境は稀だし、そうでないならただのアホ
453デフォルトの名無しさん:2013/08/15(木) 14:41:21.54
>>415
- XPを視野に入れるのも間違いではない

- XPに対応しないなどという選択肢は特別な事情がない限りありえない

この2つはニュアンスが真逆
454デフォルトの名無しさん:2013/08/15(木) 14:54:21.24
>>453
多分、自分に対するレスだと思うけど、

>@- XPを視野に入れるのも間違いではない
>A- XPに対応しないなどという選択肢は特別な事情がない限りありえない

XPを対象OSにする事は、

@→対象OSにするのは間違いではない→OK
A→対象OSにしない事は特別な理由がない限りありえない→OK


@の場合は対象外にするのもOKというだけで、他は同じことだと思うんだけど・・・
455デフォルトの名無しさん:2013/08/15(木) 15:33:05.85
要約すると、新規アプリケーションはWPFで作るなということでつね
456デフォルトの名無しさん:2013/08/15(木) 15:46:09.83
どこをどう要約したんだw
457デフォルトの名無しさん:2013/08/16(金) 16:52:33.49
質問!

<DataGridTextColumn Header="ファイル名">
 <DataGridTextColumn.Binding>
  <Binding Path="FileName" Converter="{StaticResource pathConverter}"
       ConverterParameter="C:\〜"/>
 </DataGridTextColumn.Binding>
</DataGridTextColumn>
のようにして,ConverterParameterからの相対パスを表示させている
(ConverterParameterの子でなければフルパスを表示).

で,ConverterParameterを可変にして,データバインディングのようなことを
したいのだが,Parameterプロパティが 非Dependencyプロパティなので,
 ConverterParameter={Binding ...}
のようなことはできなかった.

どうやれば実現できますか?
458デフォルトの名無しさん:2013/08/16(金) 16:57:41.56
MultiBinding
459457:2013/08/16(金) 17:00:13.33
あー,MultiValueなConverterを使えばできるっちゃできるのか.
でもあんまり美しくはないような気もするので,
他に実現方法があったらご紹介ください.
460457:2013/08/16(金) 17:07:20.01
>>458
ありがとうございます.

やっぱ自分が気にしすぎだったのかな(逆変換があまりキレイじゃない,とか).
とりあえず当該列をReadOnlyにしてMultiBindingでやってみます.
461デフォルトの名無しさん:2013/08/20(火) 21:23:18.73
ちょっと聞きたいんだが、
カスタムコントロール作る時ってイベントとかバンバン使っていいの?
影響範囲を封じ込めてる間はOK?
462デフォルトの名無しさん:2013/08/20(火) 21:25:37.62
カスタムコントロールじゃなくても使っていいだろ
463461:2013/08/20(火) 21:35:41.94
>>462
割りとMVVMきちんと守って作ってるから、
コードビハインドにガッツリ書くとなんか…
464デフォルトの名無しさん:2013/08/20(火) 21:43:56.48
カスタムコントロールって onxxのオーバーライドでイベント使いまくりでコードビハインドにコーディングして
寧ろDataContextは空にしないと後々問題になるでしょうが
465デフォルトの名無しさん:2013/08/20(火) 21:47:38.49
カスタムコントロール?ユーザーコントロールじゃなくて?
カスタムコントロールはテンプレートとコードを疎結合にしなきゃいけないので
コードから他のコントロールを触ることは極力避ける。
まあゼロというわけにはいかないので、必要な場合は依存対象をTemplatePart属性によって明示して最小限使う。
MVVMでいうとVに閉じた話であって、MVVMで疎結合がどうとかいう話とは関係ないので混同しないように。
466デフォルトの名無しさん:2013/08/20(火) 21:49:22.91
MVVMなんて幻想
コマンドもいらん
あんなのは宗教
467デフォルトの名無しさん:2013/08/20(火) 21:56:11.31
>>464
やっぱりそうなのか
WPFは仕事で触り始めてまだ1ヶ月だからイマイチ感覚が分からないんだ

>>465
ユーザーコントロールはModel省略の普通のMVVMみたいなノリで
いい印象あるんだが、カスタムコントロールどうなんだろうと思ってさ
というか、カスタムコントロールって他のコントロール触るって事あるのか
まだ勉強足りんっぽい

>>466
いや、色々勉強して書いてみてるが設計的には大爆発を抑制できそうだし、
Prismとか使えば割りと楽に色々出来る感じあるぞ 素人意見だが
468デフォルトの名無しさん:2013/08/20(火) 22:00:32.04
カスタムコントロールは他のコントロールを触るもんだぞ
TemplatePartに明記し、GetTemplateChildで取得する
コード側のプロパティを子に反映させたいときは単純な場合バインディング(TemplateBinding)も使うが、
コマンドは普通使わないでイベントハンドラを使う
コマンドだと外から呼ばれちゃうから良くないし、どうせTemplatePartにがっつり依存してるので意味ない
469デフォルトの名無しさん:2013/08/20(火) 22:15:20.68
>>468
うーむ、やっぱりまだ良く分かってないな
出てきたキーワードからまた調べてみるわ
Thx
470デフォルトの名無しさん:2013/08/21(水) 22:41:26.21
xbapのアプリってテキストファイルを読み込む等の処理はセキュリティ上の問題でできないんでしたっけ?
471デフォルトの名無しさん:2013/08/21(水) 23:00:28.56
完全信頼にすればできるが
XBAPなんて余計な制限がかかるだけで何のメリットもないから普通のWPFアプリでClickOnce使え
472デフォルトの名無しさん:2013/08/21(水) 23:33:24.49
ClickOnceですか。起動時のアップデートチェックが長くてストレスが溜まると聞いていますが、検討してみます。
473デフォルトの名無しさん:2013/08/27(火) 11:53:02.58
2つの同じ種類のコントロールを完全に同一にしたい、要するに全てのプロパティをバインディングさせたいのですが
どうすればいいですか?
474デフォルトの名無しさん:2013/08/27(火) 11:58:55.45
ClickOnceって誤動作しない?
ログ取ってると、ときどき自分がClickOnceでインストールされてないって返されること有る。
475デフォルトの名無しさん:2013/08/27(火) 20:39:21.63
>>474
リビジョン上げずに再発行してるとか?
476デフォルトの名無しさん:2013/09/04(水) 20:03:42.37
BitmapSource をSqlSeerverCeに突っ込んで読み込みたいんですが教えてもらえませんか?
477デフォルトの名無しさん:2013/09/08(日) 13:45:25.47
こんなボタンをデザインしたいんですが、どういう感じでXAMLを買いたらいいのでしょうか?
http://www.nukeation.com/newscreens/Odyssey.jpg
478デフォルトの名無しさん:2013/09/08(日) 13:49:29.58
多分、こういうのはもう流行らない
479デフォルトの名無しさん:2013/09/08(日) 14:05:17.27
>>477
http://archive.msdn.microsoft.com/wpfsamples
Control Customizationのサンプルを見るんだ。
480デフォルトの名無しさん:2013/09/08(日) 14:17:41.93
7とかの平べったいボタンは個人的にはあまりすきじゃないんだよね
481デフォルトの名無しさん:2013/09/08(日) 14:20:47.99
それを言うなら、8のボタンではないか?
482デフォルトの名無しさん:2013/09/08(日) 14:20:57.73
microsoftの人も仕事がなくなってきてるんだろう
メーカー製PCのバンドルソフトと同じ匂い
483デフォルトの名無しさん:2013/09/08(日) 20:04:47.30
流行りかどうか知らないけど
そういうボタンは画像用意しておいて背景に設定するんだよ
484デフォルトの名無しさん:2013/09/08(日) 20:07:45.64
web2.0デザインとでも呼べばいいんだろうか
そういった背景の画像はweb上のジェネレータが探せば結構ある
485デフォルトの名無しさん:2013/09/08(日) 20:36:16.41
どう考えても画像じゃなくてグラデーションブラシを使ってるだけだと思うw
486デフォルトの名無しさん:2013/09/08(日) 20:43:28.30
簡単なのは幅1ピクセルの画像をループして貼ってる
ハイライト入れるのに画像使ったりしてる
487デフォルトの名無しさん:2013/09/08(日) 23:34:52.82
画像よりXAMLで書いたほうが、色変えたくなったりした時に対応しやすいからいいよね
488デフォルトの名無しさん:2013/09/09(月) 15:44:14.00
サイズの大きいビットマップファイルをキャンバスにAddすると、
キャンバスをはみだして表示されてしまうんですが、
はみだしてる部分は表示しないようにするにはどうしたらいいですか
489デフォルトの名無しさん:2013/09/09(月) 15:50:58.81
できましたありがとうございました。
490デフォルトの名無しさん:2013/09/09(月) 16:20:07.04
>>489
自己解決したんでもナニシタカカケヨw
491デフォルトの名無しさん:2013/09/09(月) 20:41:06.55
複雑なデータテンプレート作って、それの色違いのスタイルがほしい場合って同じ複雑なデータテンプレートを書かなきゃいけないのでしょうか?再利用とかできませんか?
492デフォルトの名無しさん:2013/09/09(月) 23:10:35.40
>>491
俺もデータテンプレートの使う場所での微妙なカスタマイズ方が知りたい(´・ω・`)
493デフォルトの名無しさん:2013/09/09(月) 23:18:21.59
テンプレート内で変えたい部分の値をリソース参照にして
使用する箇所のコントロールのリソースの値を変えたりとか。
494493:2013/09/09(月) 23:21:54.42
ListBoxの選択スタイルなんかがリソース参照になってるので
そういうカスタマイズが出来るようになってる。
495デフォルトの名無しさん:2013/09/09(月) 23:35:47.66
どういうこと?
496デフォルトの名無しさん:2013/09/10(火) 00:06:13.14
>>491
BasedOnでオーバーライドとかそういうレベルの話ではないのかな
497デフォルトの名無しさん:2013/09/10(火) 00:09:59.46
BasedOnとかそんなのあったなぁ
498デフォルトの名無しさん:2013/09/10(火) 00:15:34.49
>>496
テンプレートもBaseOnってあるんだっけ?
499デフォルトの名無しさん:2013/09/10(火) 00:49:09.88
ないよねw

DataContextに持たせるか、TemplateBindingで出来る範囲で諦めるか、
あとはUserControlを使うか...
500デフォルトの名無しさん:2013/09/10(火) 08:10:48.27
>>491
単にDataTemplateの中なら、
色をConverterかましてBindingすりゃ済む話じゃないの?
もうちょい複雑にUserControlの中の部品(Buttonとか)の色を
外から変えたいとかなら、DependencyProperty作って
それで中継させれば外からBindingしたりもできる
501デフォルトの名無しさん:2013/09/10(火) 09:44:26.39
>>500
ストアアプリの用語ですまんが同じPageの中でListViewとGridViewをVisualStateで切り替えるとして各々の中で同じテンプレートを色違いで使うとする。
そした場合ってのはConverterをStaticResourceにしてStateChangeか何かでConverterのパラメタを書き換えたりするん?

いや、プロパティの継承とかで各々のスコープで色違いになるようConverterを定義しとくのか?
502デフォルトの名無しさん:2013/09/10(火) 09:58:25.48
canvas.AddするだけでInvalidateもOnPaintも考えずに画像が表示されるって素敵ですね
503デフォルトの名無しさん:2013/09/10(火) 21:46:16.55
GridSplitterで変更した高さを元に戻すにはどうしたらいいでしょうか
504デフォルトの名無しさん:2013/09/10(火) 22:00:46.87
>>503
GridのRowDefinitionや中の人のHeightを弄ると治る
何を弄るのかは作りによるから実験してね
505デフォルトの名無しさん:2013/09/10(火) 22:03:56.81
>>504
そのあたりは結構いじってみてるのですがどうにも思ったように挙動してくれませんでした
いろいろ試してみようと思います
ありがとうございました
506デフォルトの名無しさん:2013/09/10(火) 22:14:49.57
listviewにdisplayindexがつくのはいつ頃になりますか?
507デフォルトの名無しさん:2013/09/11(水) 00:40:22.86
ないでしょ
MSはGUI技術の開発リソースをほぼHTMLに絞ってて、もうWPFは弄る気ないみたい
ストアアプリもいずれHTML一本になるだろうね
508デフォルトの名無しさん:2013/09/11(水) 00:42:29.62
オワコンってこと?
509デフォルトの名無しさん:2013/09/11(水) 00:59:40.75
どうでもいい話だけど、WritableBitmapじゃなくてWriteableBitmapなんだねw
まさかのスペルミスかと思ったらイギリス英語らしい。
こんなの米語で統一して欲しいよな。
510デフォルトの名無しさん:2013/09/11(水) 01:16:41.43
なんでイギリス英語だとだめなの?
511デフォルトの名無しさん:2013/09/11(水) 01:48:58.23
いや命名規則に機械的に従ったらそうなるだけだろ
余計な例外を嫌うのは共通のセンスでしょ
ICloneableもそう
512デフォルトの名無しさん:2013/09/11(水) 04:22:21.99
>>507
いやーそれはないんじゃないか。
というか勘弁してくれ…
513デフォルトの名無しさん:2013/09/11(水) 09:11:53.51
WPFはToolkitすら放置されてるもんな
あそこまで作っといて本家に取り入れられないものだらけ
もう開発はしないのかもしれない
514でちゅ:2013/09/11(水) 09:42:13.09
WPFの個人的メモ

MediaElementのSourceに動画とか音楽ファイル突っ込んで
Play()してMediaOpenedまたはMediaFailedイベントを待たずに
MediaElement.Close()を呼ぶとハンドルがリークしてファイルがロックされたままになる。

と……
515デフォルトの名無しさん:2013/09/11(水) 14:37:06.34
バグじゃん
516デフォルトの名無しさん:2013/09/11(水) 15:38:07.72
this.mediaElement1.Source = new Uri( @"C:\hogehoge.mp3" );
this.mediaElement1.Play();
this.mediaElement1.Source = null;
this.mediaElement1.Close();

これで再現するなw
Source = null; はなくても同じ
517デフォルトの名無しさん:2013/09/11(水) 16:43:12.68
そんなコーディングするなよ
518デフォルトの名無しさん:2013/09/11(水) 17:46:53.18
もちろん普通はこんなコードは書かないが
ユーザーが再生ボタン連打みたいな状況はありえるかな
519デフォルトの名無しさん:2013/09/11(水) 19:08:03.31
>>518
それは中でステート管理して処理すべきだろw
520でちゅ:2013/09/11(水) 21:14:06.16
まあ何にせよMediaElementには罠が多すぎの感が
521デフォルトの名無しさん:2013/09/11(水) 22:42:50.45
Effectのグロウってなくなったの?
522デフォルトの名無しさん:2013/09/11(水) 23:13:39.52
GlowEffectやDropShadowEffectで代用
最悪ピクセルシェーダを書けばなんでもできる
523デフォルトの名無しさん:2013/09/11(水) 23:15:42.70
訂正
BlurEffect
524デフォルトの名無しさん:2013/09/12(木) 02:57:09.33
蒸し返してすまんが>>501のような同じテンプレートを違う場所でパラメータを変えて使いたいような場合はどげんしたらよかと?
525デフォルトの名無しさん:2013/09/12(木) 04:16:51.72
WindowsFormsHostにFormsのカスタムコントロールおいたら、フォーカスの挙動がちょっとおかしい。
CanFocusがfalseのままだぁ!!どうすりゃいいのさ。。。
526デフォルトの名無しさん:2013/09/13(金) 20:40:03.62
CollectionViewSourceでXAMLでSortDiscriptionを定義した時はちゃんとソートされるんだけど、なぜかcsファイルに書いたらソートされない
527デフォルトの名無しさん:2013/09/14(土) 15:12:36.40
TextBoxのHeightをAutoにしてAcceptsReturnをTrueにすると改行入力するたびにTextBoxの高さがどんどん増えていくけどこれやめるにはどうすればいいでしょうか?
TextBoxのHeightを固定値にすれば改行入力しても高さ増えないですが、初回は高さをAutoの状態で表示させたいのです
528デフォルトの名無しさん:2013/09/14(土) 15:32:56.59
>>527
あんたが決めない仕様をWPFに丸投げしてよきにはからえ、なんて言っても無理。
何考えてるんだろう
529デフォルトの名無しさん:2013/09/14(土) 16:22:46.85
>>526
CollectionViewSource vs; だとすると、ItemsSourceにバインドするのは{Binding vs.View}となるんだが、そこは合っている?
530デフォルトの名無しさん:2013/09/16(月) 23:18:20.15
>>527
適当なタイミングでActualHeightの値をHeightに入れとけば?
531デフォルトの名無しさん:2013/09/17(火) 01:33:03.62
>>527
テストしていないけどMaxHeightで解決しないのかな?
532デフォルトの名無しさん:2013/09/17(火) 03:00:51.71
>>527
要は最初はそのテキストを全部表示するに足る高さにしたいってこと?
最初Autoでその計算された値で固定値にすれば?
533デフォルトの名無しさん:2013/09/20(金) 21:46:44.68
アンドロイドみたいなトーストポップアップってどうやって実装してる?
534デフォルトの名無しさん:2013/09/25(水) 07:59:16.97
>>533
「ウンコした後お尻はどうやって拭いてる?」と同じ質問だな。
535デフォルトの名無しさん:2013/09/25(水) 08:26:45.80
>>534
ウンコ拭いてからレスしてください
536デフォルトの名無しさん:2013/09/25(水) 13:28:09.53
HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM

AlwaysHibernateThumbnails
ColorizationAfterglow
ColorizationAfterglowBalance
ColorizationBlurBalance
ColorizationColor
ColorizationColorBalance
ColorizationGlassAttribute
ColorizationGlassReflectionIntensity
ColorizationOpaqueBlend
Composition
EnableAeroPeek
EnableWindowColorization


これらの値を変更して再起動することで色々設定できるみたいだね
537デフォルトの名無しさん:2013/09/28(土) 02:31:12.25
WindowsFormHostの上にWPFのコントロールを表示したいんですが、無理ですか?
538デフォルトの名無しさん:2013/09/28(土) 08:46:19.42
ElementHost
539デフォルトの名無しさん:2013/09/28(土) 10:55:47.16
>>537
OSが対応するまで不可能
540デフォルトの名無しさん:2013/09/28(土) 17:08:00.24
CanvasにImageを追加して、
Canvas.EffectにShaderEffectから派生したクラスを設定してるんだけど、
ImageのサイズがCanvasより大きい場合に、Canvasからはみ出てる部分にも
エフェクトを掛けようとしているのかとても重くなる。

重くなるのを回避する方法はないだろうか?
541デフォルトの名無しさん:2013/09/28(土) 19:50:36.09
自分でシェーダ書いてるんだったら範囲をシェーダのパラメータとして直接指定すればいいでしょ
542デフォルトの名無しさん:2013/09/28(土) 19:54:28.99
Borderの中にでも入れといてBorderにエフェクトを指定してみるとか
543デフォルトの名無しさん:2013/09/28(土) 20:54:16.43
>>541
範囲指定しても変わらなかったよ。

>>542
うまく行ったよ!

お二人ともありがとう。
544デフォルトの名無しさん:2013/10/01(火) 18:31:19.49
2010なんだけど、フォームにしないと常駐も作れないぞ。

2012は少しはマシ?
545デフォルトの名無しさん:2013/10/01(火) 19:31:46.41
そもそもの認識がおかしい
WPFはWinFormsと併用するもの
546デフォルトの名無しさん:2013/10/01(火) 20:02:53.50
初心者は使うなと言いたいんだな?

拡張にあるけどインストール方法も分からん。
547デフォルトの名無しさん:2013/10/01(火) 20:04:58.37
WPFはCOMコンポーネントを直接乗っけられないのか?
winformsかまさないとダメ?
548デフォルトの名無しさん:2013/10/01(火) 20:09:44.47
WindowsFormsHostをかまさないとダメ
どう実装しようがWPFの上にWinネイティブのウィンドウを重ねるというクソみたいな形にしかならないんで
WinFormsを併用することによって失うものは特にない
549デフォルトの名無しさん:2013/10/01(火) 20:14:13.86
WPFのセールスポイントはGUIコーティングの言語横断性にあるんだろ?
FORMと共用したら意味ないんじゃないのか?
550デフォルトの名無しさん:2013/10/01(火) 20:21:43.73
WPFのセールスポイントは高い柔軟性と表現力だろ
GUIを箱庭内でフルスクラッチで再構築してるからOSの制約を受けない
コントロールのウィンドウハンドルが必要になるようなことをやろうとする時点でその前提が崩れてるんだよ
551デフォルトの名無しさん:2013/10/01(火) 20:36:23.94
フォルダ選択ダイアログを使いたい俺はユーザー失格ですね分かりましたよ。
552デフォルトの名無しさん:2013/10/01(火) 20:56:16.42
だからWinFormsを併用しろって言ってるでしょ
フォルダ選択ダイアログはWPFのウィンドウじゃなくてWindowsネイティブだろ?
だからWindowsネイティブのGUIのラッパーであるWinFormsを使う。何かおかしいか?
WPF内でやりたいというなら自作しろよ
553デフォルトの名無しさん:2013/10/01(火) 21:02:56.00
初心者は使うなということですね?

分かってますよ?
554デフォルトの名無しさん:2013/10/01(火) 21:22:18.64
ゼロから始める入門を手本にコントロールがウィンドウ一枚に
百以上あるのを2カ月で五千行ばかり書いたのに…。
555デフォルトの名無しさん:2013/10/01(火) 21:45:36.38
モバイルブームに人取られちまって開発進まないと見た。
556デフォルトの名無しさん:2013/10/02(水) 01:01:42.88
マウスやキーのイベントを一切受け取らない半透明のBorderがほしいんだけどどう書いたらいいの?
557デフォルトの名無しさん:2013/10/02(水) 01:05:59.63
IsHitTestVisible="false" Opacity="0.5"
558デフォルトの名無しさん:2013/10/02(水) 01:12:00.49
>>557
素早い回答さんくす!
559デフォルトの名無しさん:2013/10/02(水) 11:37:57.31
グリッド使うとコントロール配置がウィンドウに合わせてゴム
みたいに伸び縮みして面白いんだけどな。

使い勝手がもうちょっと良けりゃ。
560デフォルトの名無しさん:2013/10/02(水) 19:11:36.18
人気出なかったのはドカタが業務フォームを大量生産するのに向いてないからだよな
MVVMはそういうのに向いた手法だけどそれはそれでドカタには難しすぎる
一画面を作り込むタイプのアプリにはいいんだけどその手のアプリは数が多くないし金にならない
561デフォルトの名無しさん:2013/10/02(水) 20:42:30.60
本質的に難しいかはともかく、土方向けのとっつきやすい情報が皆無なのはたしか。
562デフォルトの名無しさん:2013/10/02(水) 21:00:26.80
Winformって業務アプリでよく使われるけど、業務アプリって似たような画面がいっぱいあるんだよね
表示する情報が違うとかそういうレベルで
しかもデータ量が大量だから、それがWPFに合わないっていうのが大きいよな
ビューとモデルが一対一だから、MVVMの恩恵も受けないし
563デフォルトの名無しさん:2013/10/02(水) 21:28:33.67
将来性への不安が使われない理由の大きな原因だと思うが

Silverlightの開発チームが何の前触れもなく解散したのにはビビったわ
こりゃWPFもそろそろかって思う人が出ても不思議ではないはず
564デフォルトの名無しさん:2013/10/02(水) 22:04:42.54
SilverlightはWebの選択肢が他にいっぱいあったからじゃね?
565デフォルトの名無しさん:2013/10/02(水) 23:08:25.14
MVVMの御題目は良かったのかもしれない

ただ実装がひどすぎた
無理やり作りました的なフレームワーク
staticメンバー羅列ってみるだけでゲロ吐きそう
566デフォルトの名無しさん:2013/10/02(水) 23:42:09.27
Prismとかの補助ライブラリも無しにMVVMやろうとするからそうなる
理念通りのMVVMにはライブラリ使うか、自分でWPFの上に乗っける
フレームワークをフルスクラッチするしか道はない
とりあえずPrismでも使っておけ

>>562
むしろWPFの得意領域じゃねえのそれ
567デフォルトの名無しさん:2013/10/02(水) 23:55:14.39
WPFだけでもややこしいのにさらにそんな妙なライブラリの使い方まで覚えなきゃならんのかw
568デフォルトの名無しさん:2013/10/03(木) 00:15:25.72
WPF標準の書き方覚える方が面倒だろうというマジレス
569デフォルトの名無しさん:2013/10/03(木) 00:21:44.23
標準の作り方が知らないでPrismが使えるかよw
あれはソース見て自前で作るためのサンプルだ
570デフォルトの名無しさん:2013/10/03(木) 00:31:45.55
>>545
モダンの方だがBindableBaseだけでそんなさして困って無いんだが。
まぁコードビハインド適度にあるけど別にそんぐらい構わなくね?
571デフォルトの名無しさん:2013/10/03(木) 00:33:58.30
>>569
それは言い過ぎだわ…
DelegateCommandだけでも存在意義ある
ガリガリ実務で使うかといえばアレだが、普通に使っても困らん
複合アプリケーション云々は無視して問題ない
せめてPrismとInteractivity.dll無いとスタートラインに立てん
livetとかでもいいが
572デフォルトの名無しさん:2013/10/03(木) 00:35:51.08
その段階を越えると意外とそういうの必要ないことに気付いてきて
素のWPFが非常によくできていることが分かってくるよ
573デフォルトの名無しさん:2013/10/03(木) 00:52:23.36
Behaviorとか使わない人はコードビハインドで頑張ってるのか

とかいう俺もbehaviorのOnDetachingがコードビハインドで明示的に削除を
書かないと働かないことを知ってからは若干嫌厭気味だが……
574デフォルトの名無しさん:2013/10/03(木) 01:02:12.30
そのBehaviorにもBlendでポトペタする奴とVSで書ける奴とあってもう訳がわからんw
575デフォルトの名無しさん:2013/10/03(木) 01:08:28.01
素のWPFは少なくともそこらへんの「ぼくがかんがえたさいきょうのWPF」よりは遥かに優れた仕組みを持ってる
そこを正しく理解するのがまずは先
576デフォルトの名無しさん:2013/10/03(木) 01:43:32.16
使うのに深い理解が必要だと滅びやすいので、とりあえず、でもちゃんとマトモに作れる環境が必要
577デフォルトの名無しさん:2013/10/03(木) 08:30:10.31
もっと俺にもわかるように話せよ
578デフォルトの名無しさん:2013/10/03(木) 12:10:11.87
Prismは触ってみたいと思うけど参考になるサイトがない
WPF Prismで検索しても大した内容が出てこにゃい
英語でお勉強するしかないのか

それとPrism RTのテンプレートのダウンロード数が世界で1000件ぐらい
RTが終わってるのかPrismが始まってないのか
579デフォルトの名無しさん:2013/10/03(木) 17:30:28.03
>>578
Prismとかやるなら英語必須だろ(´・ω・`)
580デフォルトの名無しさん:2013/10/03(木) 21:22:10.99
テキストボックスのコンテキストメニュー、作りかけで投げ出してない?

いじってるとデザイナーがハングして冷や汗だらだらになるぞ?
581デフォルトの名無しさん:2013/10/03(木) 21:25:05.55
テキストボックスでコピペ出来ないとか最強だろ?
582デフォルトの名無しさん:2013/10/03(木) 21:34:45.89
おまいら、よくもまあこんな中途半端なもんを自慢気に使い
やがるな。

自称プロ用のガラクタかよ。
583デフォルトの名無しさん:2013/10/03(木) 21:45:44.70
WPFに親でも殺されたのか
584デフォルトの名無しさん:2013/10/03(木) 22:01:11.39
他に良いGUIライブラリが無いからなぁ

Win32APIを直で書くのは面倒だし、MFCはもうMSですら使ってないだろうし
WTLは死んでるようなものだし、今後期待できそうなのQtくらいか
585デフォルトの名無しさん:2013/10/03(木) 22:05:35.43
クライアント系はもうこれしかないんだよ!
586デフォルトの名無しさん:2013/10/03(木) 22:08:48.25
Qtが20年も持つとは思わなかった
587デフォルトの名無しさん:2013/10/03(木) 22:08:52.61
WinFormは死なんよ。何度でもよみがえるさ
588デフォルトの名無しさん:2013/10/03(木) 22:10:26.05
今後どう考えてもhtml5が主流になる
589デフォルトの名無しさん:2013/10/03(木) 22:12:48.80
>>588
それが一番ありえそうもないな。
590デフォルトの名無しさん:2013/10/03(木) 22:15:28.62
Webはそろそろ終わるよ
クラウドがもうだめ
591デフォルトの名無しさん:2013/10/03(木) 22:40:07.56
>>590
はて?
592デフォルトの名無しさん:2013/10/03(木) 22:58:35.40
いやメトロアプリが死ぬな
JavaScriptでもかけるからアプリ増えそう
593デフォルトの名無しさん:2013/10/03(木) 23:27:13.87
>>592

JavaScriptで書いてもメトロアプリはメトロアプリでは?
594デフォルトの名無しさん:2013/10/04(金) 00:35:21.68
メトロ死んで普通のHTMLアプリが増えるってことだろうか
595デフォルトの名無しさん:2013/10/04(金) 22:29:37.49
TabControlの内側の領域(矩形?)の大きさを求めたいのですが
どのような処理をすると取得できるのでしょうか
596デフォルトの名無しさん:2013/10/05(土) 06:43:38.65
>>595
英語で書かれたオリジナルのMSDNドキュメントを読めば解る。
597デフォルトの名無しさん:2013/10/05(土) 08:50:26.60
ウィンドウを最大化したときにthis.Leftの値が0にならないのですが
なぜでしょうか?
598デフォルトの名無しさん:2013/10/05(土) 09:53:02.48
thisが何なのかToStringで出した上でかけよ(´・ω・`)
599デフォルトの名無しさん:2013/10/05(土) 11:47:11.77
thisはWindowです
600デフォルトの名無しさん:2013/10/05(土) 13:47:33.81
github、RubyとMVCの限界を悟りC#とMVVMに全面移行 / オープンソース界に激震
http://engawa.2ch.net/test/read.cgi/poverty/1380941226/
601デフォルトの名無しさん:2013/10/05(土) 14:09:19.24
コピペマン参上!まで読んだ。
602デフォルトの名無しさん:2013/10/05(土) 15:46:53.36
Win7 Pro x64、VS2010、WPF3.5ClientProfile、プラットフォームターゲットx86
で、友人内で使うアプリを開発しています。

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

(以下に続きます)
603602:2013/10/05(土) 15:51:11.42
(続きです)

=====
すみません、書き込んでから気がつきましたが、
Win7は全て SP1 を適用済みです。
=====

イベントログを見ますと、

C:\Windows\syswow64\KERNELBASE.dll
の中で System.DllNotFountException
の例外が出ているように見ます。

DLLが見つからないとして考えられることは
SQLite.dll が無いとかですが、このDLLは間違いなく exe と
同じ場所に置いているそうです。

「開発環境が入っていないから、何かしらPathが通っていない?」
とか考えましたが、開発環境が入っていない装置でもOKなものも
ありますので、よくわかりません。

お知恵をお貸しいただきたく、よろしくお願いします。
604デフォルトの名無しさん:2013/10/05(土) 16:11:10.73
読んでないけどVirtualStoreの問題に一票
605デフォルトの名無しさん:2013/10/05(土) 16:29:15.96
AnyCPUやめて86に統一して、SQLiteを86用に入れ替えたらどうなるかな?
あと、NuGetに86/64兼用のやつが有ったけど試してみたらどうか

俺は悩むのが面倒になってSQL ServerCEに乗り換えた
606595:2013/10/05(土) 16:30:15.04
TabControlの内側の領域(矩形?)の大きさを求めたいのですが
どのような処理をすると取得できるのでしょうか

ttp://msdn.microsoft.com/ja-jp/library/system.windows.controls.tabcontrol.aspx
ttp://msdn.microsoft.com/en-us/library/system.windows.controls.tabcontrol.aspx
607デフォルトの名無しさん:2013/10/05(土) 16:33:11.37
tabcontorlなのか〜

tabitemなのか〜

それともヘッダなのか〜
608602:2013/10/05(土) 16:40:32.53
>>604
レスありがとうございます。
VirtualStoreについて調べてみます。

(ざっと見てみましたが、Windowsシステムフォルダでの
 操作は得に行っていないため、違うかな、という印象です)


>>605
レスありがとうございます。
AnyCPUではなく、x86ターゲットでビルドしています。

また、「Win7 Pro x64、開発環境なし」にて
動作OKと動作NGのものがありますので、
x86かx64か(動作環境、ビルドターゲット)の違いによる
影響ではない、と考えています。

NuGetのお話や、SQL ServerCEについての情報を
ありがとうございます。調べてみます。
609デフォルトの名無しさん:2013/10/05(土) 16:52:28.25
>>606
内側にGrid配置して、その大きさ引っ張ってくればいいじゃん
610デフォルトの名無しさん:2013/10/05(土) 16:58:21.07
zip解凍せずに使ってるとか
611602:2013/10/05(土) 17:09:49.44
>>610
それも考えましたが、ちゃんと解凍していました。
612デフォルトの名無しさん:2013/10/05(土) 17:51:04.31
>>608
どうみてもスレ違いなんだけどなぁ・・・まあいいや。

動作が異なる原因は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のドキュメントを参照の事。
613612:2013/10/05(土) 18:06:38.98
あぁ、x86ターゲットなのか。
だったら>>612の後半は無視してくれ、

ところで、"sqlite.dll" というファイル名はどこから出てきたの?
確かに、sqlite.dll を使うバージョンのSystem.Data.Sqliteもあったような気がするが、
俺がいつも使ってるのは SQLite.Interop.dll を使う奴なのでちょっと気になった。
614602:2013/10/05(土) 18:31:25.34
>>612-613
WPFで開発していたためこちらで
質問させていただきました。申し訳ありません。

GAC、意識したことが無かったので
勉強します。ありがとうございます。

>ところで、"sqlite.dll" というファイル名はどこから出てきたの?
現状、System.Data.SQLite.dll のみを使用しています。(exeと一緒に配布しています)
WPF、C#にてSQLiteを使う方法を
ググって探しながら、どこかのブログか何かを
見ながら導入したことを記憶しています。

記憶を頼りにググってみましたが、
どこを参考にしたのか探せませんでした。

現時点で動かせている環境がたくさんあるのですが、
もしかしたらGACに SQLite.Interop.dll がインストールされている
環境か、そうでないか、という違いかもしれないでしょうか。
615デフォルトの名無しさん:2013/10/05(土) 23:37:03.34
ファイル選択ダイアログすら出ないだろ?
IDEが半分しか使えない。
616デフォルトの名無しさん:2013/10/06(日) 00:48:45.32
TriggerAction継承したクラスに依存プロパティ定義したんだけど、
いざXamlで使おうとしたら認識してくれない・・・なぜですか
定義コードは以下の通りです
public static readonly DependencyProperty TargetCursorProperty =
DependencyProperty.Register(
"TargetCursor",
typeof(Cursor),
typeof(MouseCursorChangeAction),
new FrameworkPropertyMetadata(Cursors.Arrow));
617デフォルトの名無しさん:2013/10/06(日) 01:30:09.53
対応する普通の形式のプロパティは宣言した?
xamlではそっちを見てるので。
618デフォルトの名無しさん:2013/10/06(日) 12:09:49.28
>>617
認識してくれました!
ありがとうございます
619602:2013/10/06(日) 12:46:17.44
WPFについて質問した者です。
下記でひとまず解決(動作停止する環境でも、動作するようになった)しました。

■以前使っていたSystem.Data.SQLite.dll
 V1.0.81.0
 このバージョンのものの場合、SQLite.Interop.dll
 が無くても動作していました(1人以外の環境で)

■環境の再構築
 V1.0.88.0 のSystem.Data.SQLite.dll などファイル一式を更新
 このバージョンの場合、SQLite.Interop.dll が必要になりました。

環境の再構築をして検証を行ったところ、
(私が動かしたい)環境の全てで動作しました。

動作停止していた原因は引き続き追究することとしますが、
ひとまず動作しましたので、ここで消えさせていただきます。
沢山のアドバイスや新しい知識をいただけて本当に助かりました。
ありがとうございました。
620602:2013/10/06(日) 12:47:02.33
一行目、いきなり間違ってますね。

 SQLiteについて質問したものです。

が正しいです。
621デフォルトの名無しさん:2013/10/06(日) 13:10:34.33
どっちでもいいよ
回答には影響ない
622デフォルトの名無しさん:2013/10/07(月) 03:02:41.35
WPFでテーマを新規で作ったり編集したりするのは何のソフトが一番いいですかね
623デフォルトの名無しさん:2013/10/07(月) 03:13:51.59
VisualStudio
624デフォルトの名無しさん:2013/10/09(水) 16:53:59.98
ウィンドウにMediaElementを配置して、
音を鳴らし終わったらウィンドウを閉じいるんですが、
その時にMediaElementがリークを起こしていみたいなんです。

閉じる前にMediaElementのSourceにnullを入れて、
Close()を実行したりはしていますが、
参照を残さない為に他に処理すべき事はありますか?
625デフォルトの名無しさん:2013/10/09(水) 17:53:28.43
音だけならMediaElement使うな
626デフォルトの名無しさん:2013/10/09(水) 18:09:21.22
>>625
規定時間経過時に曲のフェードアウトを行います。
それをStoryboadで管理しているので、
親和性の高いMediaElementを使用しています。

解消出来なければSoundPlayer等で代用することになると思います。
627デフォルトの名無しさん:2013/10/11(金) 10:06:04.74
mediaelementじゃなくてUIを持たないMediaPlayerを使い
VMに配置して、VM自体は使いまわししたらどうだ?
628デフォルトの名無しさん:2013/10/11(金) 10:23:26.24
629デフォルトの名無しさん:2013/10/12(土) 02:31:37.07
.load sos/Windbgなど、残っている参照を直接調べる方法もある。
630デフォルトの名無しさん:2013/10/14(月) 03:58:16.47
UserControl内にScrollViewerを配置すると
表示された時にScrollViewerが動かないんだけど
これってガイシュツ?
631デフォルトの名無しさん:2013/10/14(月) 13:59:28.00
いいえ
632624:2013/10/15(火) 13:08:11.40
>>627
SoundPlayerでボリュームの調整が出来なかったのでそのように実装しました。

>>628
そもそも曲の再生に関係なく、ビジュアルツリーに登録した時点で
MediaElementのインスタンスをリーク無く開放する手段が無いように感じていますが間違っていますでしょうか?

例えばXamlにMdeiaElementのみを設置したウィンドウを作成し、
そのウィンドウを閉じるだけで(再生の実装も無し)参照が残るように見えます。

>>629
残っている参照はMediaPlayerState.Helperということは分かっていますが、
開放する手段が分かりません・・・。


亀レスで申し訳ありません。
結局>>627のように実装することにしました。
アドバイスありがとうございました。
633デフォルトの名無しさん:2013/10/16(水) 23:17:17.16
hostでフォームのコントロールを貼り付ける技をようやっと
習得しつつあるが、WPFから入るとフォームの詳細設定って、
やはり一時代前の感覚はあるな。面倒臭い。

これ使うと普通にダイアログ出せるのか?
634デフォルトの名無しさん:2013/10/17(木) 22:59:05.94
ダイアログって何のこと?
635デフォルトの名無しさん:2013/10/18(金) 11:06:43.99
>>633 のモノローグであった
636デフォルトの名無しさん:2013/10/18(金) 18:44:37.56
>>634
WPFってファイルオープンダイアログすら未実装だろ。

MSが「WPFはあくまでもプレゼンテーションライブラリなので」
実装却下してるからには、普通にアプリ開発するならフォーム
使えってことか。
637デフォルトの名無しさん:2013/10/18(金) 18:57:32.28
ストアアプリのFileOpenPickerみたいなのをデスクトップにも用意してくれればいいのに
638デフォルトの名無しさん:2013/10/18(金) 19:22:41.77
>>636
Microsoft.Win32.FileDialogをご存じない?
639デフォルトの名無しさん:2013/10/18(金) 19:30:22.09
ユーザー目線から却下されます。
640デフォルトの名無しさん:2013/10/18(金) 19:50:59.85
ああ、なるほど。Vista標準で開発されたのか。
じゃ、なおのこと将来ないな・・・
641デフォルトの名無しさん:2013/10/18(金) 20:04:59.77
一体何に対する「ああ、なるほど」からの「Vista標準」結論なんだろう
642デフォルトの名無しさん:2013/10/18(金) 23:07:51.05
WPFにないのはFolderBrowserDialogな
643デフォルトの名無しさん:2013/10/18(金) 23:23:58.93
みんなVS2013に申したの?
644デフォルトの名無しさん:2013/10/19(土) 00:18:38.69
ストアアプリ作る人以外はあえて2013にする理由は弱いような気が
645デフォルトの名無しさん:2013/10/19(土) 00:22:51.66
>>644
2013のCodeMapデバッガーは便利だぞー
646デフォルトの名無しさん:2013/10/19(土) 00:33:02.52
2013はコンパイラが変わったとかなんとか意味がさっぱりわからん
647デフォルトの名無しさん:2013/10/21(月) 21:48:41.26
DependencyPropertyA <-2way bind-> DependencyPropertyB <-2way bind-> Source

こういう風な構成の場合DependencyPropertyAを更新するとループしてスタック
逝っちゃうんだけど普通はどういう風に実装するもんなんだろう?
AとSource双方から更新がある想定でBはAのコントロールを内包したコントロール。
648デフォルトの名無しさん:2013/10/21(月) 22:46:59.82
>>641
UIをDX9でレンダリングして、Vista世代に合わせたアプリ開発を
狙ったんだろ。

>>642
いや、フォームの手順でそのままやろうとしても受け付けないぞ。
649デフォルトの名無しさん:2013/10/21(月) 23:00:16.81
>>647
値の変更がなくなったら止まるからループしないだろ?
でも、2wayを複数設定するのはやめた方がいいと思うけど。
650デフォルトの名無しさん:2013/10/22(火) 07:33:40.60
>>648
むしろOSの世代に合わせないGUIフレームワークを提供するのが狙いだよ
WinネイティブなGUIを使ってるとOS側の進化を待たなきゃいけないからニーズに素早く対応できない
結局WinRTでネイティブなGUIに回帰したけど
651デフォルトの名無しさん:2013/10/22(火) 08:10:49.04
ネイティブから乖離したらJAVAみたくなるやん
652デフォルトの名無しさん:2013/10/22(火) 19:20:17.09
>>650
ネイティブ回帰でなくてメトロネイティブになっただけじゃないの?
しかも超絶不人気…
653デフォルトの名無しさん:2013/10/22(火) 19:34:46.72
silverlightみたいなのを軌道に乗せたいなら子会社で独立した
看板立ててやらないと難しいのかね。MSの企業コンサルティング
なんかする義理もないが。
654デフォルトの名無しさん:2013/10/23(水) 07:26:17.69
>>652
同じだろ
Winに組み込んじゃった時点で今後永久に保守し続けないといけない
655デフォルトの名無しさん:2013/10/23(水) 15:30:09.99
こうやって無駄にリソースを食うOSができるんだな
656デフォルトの名無しさん:2013/10/23(水) 16:17:32.46
>>649
それがset内で値チェックして差分ある時だけ更新にはしているけれども
そもそもSetValue呼んだところでStackOverflowで死亡。デバッガーじゃ追えない。
何か俺のコード側が根本的に間違っている気がするな・・・。
657デフォルトの名無しさん:2013/10/23(水) 16:21:51.58
>>655
ここ暫くWPFのプログラムゴリゴリ書いていて思うのはフレームワーク側を作った人は
リソースを抑える事とかを色々考えてこうなっているんだろうなと思うところを感じる部分も
あるけどmvvmとかのデザインパターンのせいか冗長すぎてうぜーと思う事が多い
論理的に美しいみたいなのって疑問を感じる事が多い
658デフォルトの名無しさん:2013/10/23(水) 16:35:28.14
糖衣構文用意させたらいいんだよ

ヘジをクビにして
659デフォルトの名無しさん:2013/10/24(木) 14:17:18.03
WPFとXAMLってヘジが作ったのか?
660デフォルトの名無しさん:2013/10/24(木) 16:32:17.07
いやあいつがシュガー拒んでるって話じゃねーの。知らんけど(´・ω・`)
661デフォルトの名無しさん:2013/10/24(木) 19:24:31.51
もう正直genericでasyncなWinForms作ってくれたらそれでいいわ
662デフォルトの名無しさん:2013/10/24(木) 22:23:30.34
>>661
いまのXAML系でいいじゃん(´・_・`)
663デフォルトの名無しさん:2013/10/24(木) 22:51:54.16
>>662
XAMLの部分もっと開発しやすくなればねぇ。
関連する所でミスってると全然違うところで意味不明のエラー吐いたりするし。
デバッグの仕方って何かあるのかな?正直printfデバッグ以下の状況だと思うが。
664デフォルトの名無しさん:2013/10/24(木) 22:57:45.90
XAML書いてると俺はいつの間にXcodeを使っていたんだ?ってくらいコード補完やデバッグがしんどい・・・
話かわるけどiOSにOffice提供したんだしOS XにVS提供してくれんかね・・・
MonoDevelopが糞すぎて泣けてくる
665デフォルトの名無しさん:2013/10/25(金) 00:48:13.97
万人向けのC++やC#のエディタ部分と
物好きの玩具の域を出ないWPFのエディタ部分を比べたら
どちらにリキを入れるべきか、火を見るより明らかですよね
666デフォルトの名無しさん:2013/10/25(金) 00:59:21.97
それは因果関係が逆のような気もするけどね。
まあWPFが普及しないのはVSのサポートが弱いせいだけとも思えんけど。

ググるとMVPを中心にWPFをマンセーしてる人が多いけど、個人的には
いちいち設計に疑問に感じる部分が多すぎるように思う。
667デフォルトの名無しさん:2013/10/25(金) 15:56:47.54
そもそもお金になるかならないかで言えばWPFは日本では金にならんのだよな
XAMLの案件ってASPかSilverlightばっかじゃん、WPFの案件って更に少なくなって今ほとんどないしな。
668デフォルトの名無しさん:2013/10/25(金) 16:47:34.63
>>666
ちなみにどの変が疑問?
自分はストアので触っていてこういう時にはこうするっていう逆引き的なのがないとちょっと突っ込んだことやろうとすると分からなくなるってのは有ったけど、
全体的には柔軟な仕組みを作ろうとするとしょうがないよなーとも思ってる。
他にもっといい設計のUIフレームワークってある?
669デフォルトの名無しさん:2013/10/25(金) 17:27:12.31
>>667
使用する技術の観点から案件の検討するの?変わった会社に勤めているんだな・・・。
自分で設計しない(出来ない)下請けさんかね。

WPFは認知度低いというかWinFormsで止まっている会社多いのは確かだし
単にそういう提案出来る技術のある人が少ないだけだと思う。
670デフォルトの名無しさん:2013/10/25(金) 17:56:22.19
ストアアプリはスレチかもしれないけど
設定パネルとかはデフォで準備しておけばいいのにな
柔軟というか全部作らないといけないのは何ともいただけない

カラーピッカーすらない
何を考えているんだか
671デフォルトの名無しさん:2013/10/25(金) 23:46:41.59
>>669
だからそれを客に説明したとしてWinFormsよりWPFの単価が高い理由を仮に理解されたとしても容認されんだろ
客は安くて早いしか望まないんだから
技術力だけで飯が食えるなら日本のIT業界が某社を頂点とした搾取構造になるわけねーだろ
技術力云々いうなら何故日本からGoogleのような会社が出てこないんだ?
競争なんて上澄みだけが美味い汁吸えるんだよ、それともおまえはシリコンバレーで名前が売れてるほどの天才ですか?
672デフォルトの名無しさん:2013/10/25(金) 23:53:04.55
>>671
技術によって金が高くなるんじゃなくて、その技術によって客に高い価値を与えられるから高くなんだろ(´・ω・`)

それが出来ないなら使い慣れた客が望む技術使ってればいいやん
673デフォルトの名無しさん:2013/10/25(金) 23:59:00.50
客に技術的な説明して真に理解されると思ってんの?
行政や一部上場の顧客ほど承認欲求が強いんだよ
IBMや富士通の言うことなら技術力関係なく○○さんが言うならって信用すんだよ
674デフォルトの名無しさん:2013/10/26(土) 00:05:16.87
WPFでWinFormsより早く安く作ることができればいいわけだな
675デフォルトの名無しさん:2013/10/26(土) 00:08:02.95
何の話だよ
676デフォルトの名無しさん:2013/10/26(土) 00:15:08.91
>>673
だからお前は技術とか関係ないとこでやってんだから技術の話に口出さなきゃいいじゃん(´・_・`)

うちは客にSilverlightやWPFやストアアプリとかXAML系で作ったもん納品してるわ
677デフォルトの名無しさん:2013/10/26(土) 00:23:23.90
>>668
一例を挙げればRoutedUICommandとか。

そもそものコマンドの目的からしたらVMのメソッド呼び出しを抽象化したものでなきゃいけないはずなのに、
RoutedUICommandの実装じゃ結局コードビハインドのイベントハンドラを呼び出してるのと
同じことで、あんなの何の意味があるのか。
678デフォルトの名無しさん:2013/10/26(土) 00:33:38.23
>>667
マンセーしてる人、俺も含めてだが、たぶんデフォルトのWPFのみじゃ使ってないぞ
PrismとかのMS製ライブラリ使うと、そういう矛盾感じなくなる
679デフォルトの名無しさん:2013/10/26(土) 00:36:16.84
すまん >>667じゃなくて>>677
680デフォルトの名無しさん:2013/10/26(土) 07:34:56.27
基本ICommandしか使わないし
681デフォルトの名無しさん:2013/10/26(土) 07:53:41.71
nullチェックってなんだろ
あれ毎回しないといけないのかね
682デフォルトの名無しさん:2013/10/26(土) 10:39:52.31
ICommandしか使わないとか、なんでそんな苦しいことをわざわざ……
マゾか
683デフォルトの名無しさん:2013/10/26(土) 11:26:37.85
モデルがいらないようなケースでもコードビハインドのためだけにVM使ったりする?
684デフォルトの名無しさん:2013/10/26(土) 11:29:05.44
目的と手段が逆転してると思うんだよね
健康になるために自殺を厭わない感じ

俺はフォームのデザイナーとバインド機構しか利用してないわ
十分だよ
685デフォルトの名無しさん:2013/10/26(土) 11:50:48.87
>>683
普通コードビハインド書きませんしおすし
686デフォルトの名無しさん:2013/10/26(土) 11:52:05.98
デザイナなんか使ったらクソ汚いXAMLが生成されるから逆に苦しくなる気が
687デフォルトの名無しさん:2013/10/26(土) 11:53:37.60
>>686
WinFormと汚いXAMLしか見たこと無い人には十分なのでは
688684:2013/10/26(土) 11:55:49.02
誤解されちゃったけどポトペタは利用しないよ
手書きに決まってる

XAMLはフォームのデザイナーという意識はないんだろうかね
ポトペタエディタだけをさすの?
689デフォルトの名無しさん:2013/10/26(土) 11:58:40.82
「HTMLはWebのデザイナーという意識はないんだろうかね」と言い換えてみたら頭のおかしさが分かるんじゃねえの
690デフォルトの名無しさん:2013/10/26(土) 11:59:46.53
Webフォームのデザイナーではあると思いますけど
そこでWebという言葉を使うならフォームではなくアプリケーションと言うのでは?

>>頭の良いお方
691デフォルトの名無しさん:2013/10/26(土) 12:02:33.64
少なくともこのスレでは誤解した人間の方が多いから
少なくともこのスレの常識からはあなたの方がズレている
692デフォルトの名無しさん:2013/10/26(土) 12:02:49.66
普通に考えて、XAML直書きの事を「フォームのデザイナーを利用する」とか表現しない
これがXAML書いてる事を指す現場が存在するとは思えない
693デフォルトの名無しさん:2013/10/26(土) 12:03:53.00
まあVisual Studioではエディターとデザイナーは厳密に区別されてる
694デフォルトの名無しさん:2013/10/26(土) 12:05:19.40
「HTMLはWebページのデザイナー」だと言われた場合
その「デザイナー」が指すのはデザインの専任者でもホームページビルダーでもないと思うわ。
横槍だけど。
695デフォルトの名無しさん:2013/10/26(土) 12:07:12.96
デザイナはコードを生成する元なんだからデザイナ利用してるならXAML書いてない
XAMLで書いた内容がデザイナに反映されるという文脈なら分かるが明らかにそうじゃないし
696デフォルトの名無しさん:2013/10/26(土) 12:08:26.92
フォームのデザインにXAMLを利用する
なら分かるよ
697デフォルトの名無しさん:2013/10/27(日) 03:39:50.82
>>671
根本的な所でズレている気がするなぁ。
まず同じ物作ろうとした時工数的に WinForms<WPF からスタートなのが違和感あり。
そういう説明したらそらアウトプットが同じになるなら当然安いほうでって言うに決まってる。

うちは最近WPFで開発するようにしているけど>>678の言うようにフレームワークを使う、
常用するコンポーネントを蓄積していくという普通の事をやっていればどっち使っていても
開発速度に差は無いと感じているけど、どういう要素がWPFの方が工数かかるという根拠なの?
単に技術がない(経験のある技術者がいない)だけに見えてしまうんだが。
698デフォルトの名無しさん:2013/10/27(日) 10:19:33.32
経験のある技術者がいないってのは凄い問題だと思う
何年経ってんだよ

入門障壁が高いのも問題
winformsだったらjavaなどから移ってきた技術者でも容易に使える
ほとんどやってることは同じだからちょちょいで使える
699デフォルトの名無しさん:2013/10/27(日) 10:29:33.72
こんな簡単なことも分からないから馬鹿にされるんだよなあ
700デフォルトの名無しさん:2013/10/27(日) 10:35:00.96
WPFみたいな特殊事例で常用するコンポーネントが蓄積されるような状況にあるわけねーじゃん
工数が同じになるのは初期投資償却した後でしょ
大抵の会社は初期投資すらしてないんだよ
701デフォルトの名無しさん:2013/10/27(日) 11:52:08.70
WPFが特殊事例なー
702デフォルトの名無しさん:2013/10/27(日) 11:58:32.49
めくら以外の誰もが特殊事例だと認めるところだろ
703デフォルトの名無しさん:2013/10/27(日) 12:11:44.05
MSもストアアプリメインになってるのが終わってる
704デフォルトの名無しさん:2013/10/27(日) 13:16:20.68
今更UIをFormsでつくってくれいわれてもこまるなー。今日時期やりたくないっす。
標準のコントロールが足りないとかあるかもだけど作りとしては遥かに楽。
705デフォルトの名無しさん:2013/10/27(日) 15:49:09.44
やっぱりWPFは裸の王様だと思う。
706デフォルトの名無しさん:2013/10/27(日) 16:13:40.71
そうやって古い技術に固執するから仕事がどんどんアレになるんじゃないの
707デフォルトの名無しさん:2013/10/27(日) 16:17:23.68
WPFにダメだししてるからって古い技術に固執してるわけじゃないと思うけど。
708デフォルトの名無しさん:2013/10/28(月) 15:25:00.61
>>698 >>700
育てもせず、勉強もせず・・・なら当たり前の結果だと思うんだが
そんなもんWinForms使おうとMFC使おうとJava使おうとなんでも同じじゃね?
WinFormsの基本コンポーネントだけで作れるアプリならそれこそ何使っても一緒だし
709デフォルトの名無しさん:2013/10/28(月) 16:16:38.84
何使っても同じようなものは作れるよ
重要なのは作業効率
WPFで開発すると時間がかかる
710デフォルトの名無しさん:2013/10/28(月) 16:27:37.16
脱線するとアレだからナントカパターンとするけど、そのナントカが
設計しながら製造やるようなとき、マッチしないんだよなぁ。
ありえねーとかはどうでもいい。事実としてそういうときは多い。
711デフォルトの名無しさん:2013/10/28(月) 16:31:18.72
理論は素晴らしいし納得できるが
実際それをやろうとするとアプリのロジック以上に悩まされる結果にw
あのパターンは娯楽だと思うよ
712デフォルトの名無しさん:2013/10/28(月) 17:03:09.41
>>709
うん、だからそれは単にノウハウが無いだけじゃないの?って言ってるの
パターンにハメて(フレームワーク使うというのはそういう事)、スニペット使を使う
そういう事をすれば大して効率は変わらないと感じているけどな
それにメリットを見いだせないという話とWPFは効率悪いはイコールとは思えない
713デフォルトの名無しさん:2013/10/28(月) 17:18:52.77
Formのポトペタでイベントにゴリゴリロジックのやり方でいいならWPFでも普通にかけるよね。
MVVMはユニットテストしたいなら必須だけどな。書きづらいところは素直にコードビハインド入れてなるべくVMに書くようにするぐらいのゆるい感じでやったらそんなにハマるとこもないと思うけど。
714デフォルトの名無しさん:2013/10/28(月) 17:40:14.24
>>713
うん、そう思う。WPFが効率悪いと思っている人はWinFormsみたいな書き方しちゃいけない
という固定観念が原因だろうね。WinFormsよりはコードとデザインが分離し易くなっている
って時点でWinFormsに戻る理由は俺には無いなぁ。
715デフォルトの名無しさん:2013/10/28(月) 17:44:24.23
でもListViewにDisplayIndexが無いのはどうかと思う
716デフォルトの名無しさん:2013/10/28(月) 18:30:22.62
javaはライブラリやツールなどいろんなものが充実してて最先端技術を知るには一番いい
.netは他の言語で流行ったものの型落ちの技術がやってくるところになってしまった
何故だ?
717デフォルトの名無しさん:2013/10/28(月) 21:04:24.27
ListBoxItemにいろいろつっこみたいから
もうWinFormsには戻れない
オーナードローなんてしたくない
718デフォルトの名無しさん:2013/10/28(月) 22:06:30.78
XAML系のUIはそういう柔軟性だけはいいね。
でもやっぱりWPFもXAMLも好きになれない。
719デフォルトの名無しさん:2013/10/28(月) 22:27:16.00
ドカタにわかるくらいにならないと流行らんな
720デフォルトの名無しさん:2013/10/28(月) 22:40:56.56
>>716
ろくにジェネリクスもラムだもないボンクラが何をほざいてるんだ?
721デフォルトの名無しさん:2013/10/28(月) 22:48:56.70
ラムだじゃなくてラムダだっちゃ
722デフォルトの名無しさん:2013/10/28(月) 23:04:10.67
最近はJavaの方がC#パクってる感がある
723デフォルトの名無しさん:2013/10/28(月) 23:42:32.68
インスパイヤしただけだろ。
724デフォルトの名無しさん:2013/10/28(月) 23:57:51.50
飲ま飲まイェイ!
725デフォルトの名無しさん:2013/10/29(火) 00:14:32.90
ダーリンゆるさないっちゃ
726デフォルトの名無しさん:2013/10/29(火) 00:19:12.56
メニューとコンテクストで同じ命令があった場合
コマンド機能ってらくだなーって思った

ListViewにデータぶちこもうとしたら
バインドやマークアップ拡張とかあんまり使ったことないのを学ばされて疲れた
ここらへんもうちょっとシンプルに書けるようにならないのかなー
727デフォルトの名無しさん:2013/10/29(火) 00:34:44.89
ObservalCollectionとか一瞬意味がわかりませんでした
728デフォルトの名無しさん:2013/10/29(火) 01:18:02.20
綴り違うしな
729デフォルトの名無しさん:2013/10/30(水) 22:23:33.57
Formsを簡単に変換できませんかね。できませんよね
730デフォルトの名無しさん:2013/10/30(水) 22:36:24.03
両方の知識があればコンバーターは結構簡単に作れる
731デフォルトの名無しさん:2013/10/30(水) 22:49:08.05
簡単に作れるのにコンバーターツールがないってことは簡単じゃないってことじゃないのか?
732デフォルトの名無しさん:2013/10/30(水) 23:30:27.56
コンバーターってDSL書くってことだろ?
いやー大変でしょw
733デフォルトの名無しさん:2013/10/31(木) 00:01:31.54
つうかまともに動くものとか無理ゲーでしょw
734デフォルトの名無しさん:2013/10/31(木) 21:13:36.55
だって同じ名前のコントロールでもメソッドとか名前変わってたり機能あったりなかったり
互換あるわけじゃないし無理ゲーだと思う。まぁ、あってもいらんけど。
735デフォルトの名無しさん:2013/10/31(木) 23:38:26.41
そもそもコードをxmlにコンバートする時点で
736デフォルトの名無しさん:2013/11/01(金) 00:06:36.03
Xamlを一切使わないでC#コードだけ書くっていうのならできそうじゃね?
737デフォルトの名無しさん:2013/11/01(金) 00:22:12.66
AndroidもiOSもそのやり方でやってるわ。
WPFもそれでいけるよね
738デフォルトの名無しさん:2013/11/01(金) 03:17:13.12
もともと大したコードを書いてないから変換も簡単にできる(キリッ
739デフォルトの名無しさん:2013/11/01(金) 07:58:28.88
まずForm側の情報取得はインスタンス化してプロパティを見るだけでいいんだよ
最初に出現するコントロールと設定されてるプロパティを列挙しておく
それから各コントロールのXElement変換処理を実装するだけ
WPF案件にFormsでデザイン送ってきたアホのソースをコンバートしたときは二時間ぐらいでXAMLが変換できた

コードビハインドは対象にしなかったけど、コード書き換えてコンパイラーを動かせば式木は取れるはず
Graphicsとか触ってる箇所は知らん
740デフォルトの名無しさん:2013/11/01(金) 09:34:27.96
どーも発想がテキストベースにしか行かなかったが、
ターゲットにするコントロールを絞れるなら、リフレクションでなんとかなりそうだな
741デフォルトの名無しさん:2013/11/01(金) 23:05:12.89
>>716

10年前の書き込みかと思った。

ただ、今は .net系のほうが進んでいるけど、でもそれはマイクロソフトが提供する部分で、
周辺ライブラリは javaのような盛り上がりはないだろうね。
742デフォルトの名無しさん:2013/11/01(金) 23:06:42.28
盛り上がってる?
なんか中途半端で使えないものが乱立してるだけのような気がする
743デフォルトの名無しさん:2013/11/02(土) 00:57:35.92
pythonやPHPで流行ったものもjavaまでは容易に移植されるけど
そこからc#には何故か壁があってなかなか来ない
VB?
なにそれ?
744デフォルトの名無しさん:2013/11/02(土) 01:01:12.51
Javaと比較してフレームワークは多いけどライブラリはほんと少ないよね
特に画像系は移植が途中までとかCをC++/CLIで自分でラッパー書けとかばっかw
745デフォルトの名無しさん:2013/11/02(土) 01:19:39.68
VS2010の時はデザイナに表示されるWindowsの右下にWindowを自動サイズにするボタンが
存在したと思うんだけど、これVS2012では廃止された?
746デフォルトの名無しさん:2013/11/02(土) 01:41:34.02
WPFのボタンって糞だな
文字が書いていない余白のところをクリックしても反応しない
747デフォルトの名無しさん:2013/11/02(土) 02:29:04.08
MONOはWPF対応予定ないって創始者が言ってたけど
状況変わったかねー
748デフォルトの名無しさん:2013/11/02(土) 06:35:04.84
> CをC++/CLIで自分でラッパー
あ〜あ。
この一言で無知が露呈しちゃったね。
749デフォルトの名無しさん:2013/11/02(土) 08:54:15.80
>>748
PInvokeがーとか言いたいの?浅知恵乙
750デフォルトの名無しさん:2013/11/02(土) 10:32:31.14
>>746
そんなばかな
751デフォルトの名無しさん:2013/11/02(土) 11:48:11.30
ネイティブのDLLをC++/CLIでラップするのは面倒だったな。
ピン留めとか勝手にやってくれるP/Invokeの方が楽だった。
752デフォルトの名無しさん:2013/11/02(土) 13:02:19.83
Boost.Pythonみたいなの作れよ
753デフォルトの名無しさん:2013/11/02(土) 13:06:26.26
swigあるだろ
754デフォルトの名無しさん:2013/11/02(土) 18:35:32.53
オープンソースのライブラリ関連は貧困だけどこればっかりはMSもどうにもできない
755デフォルトの名無しさん:2013/11/02(土) 22:01:40.32
コントロールのスタイルをいじっているんですがうまくできません
ComboBoxやListBoxでマウスオーバーのとき青いハイライトになります
なぜスタイルの設定が反映されないんでしょうか

<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource GrayColor}" />
</Trigger>
756デフォルトの名無しさん:2013/11/02(土) 22:16:11.73
>>755
問題の原因が分からないから質問してるくせに、なぜその3行だけを抜き出してコピペするんだ
馬鹿なのか。
757デフォルトの名無しさん:2013/11/02(土) 22:42:40.66
>>755
なぜって、お前が生きてるから。
758デフォルトの名無しさん:2013/11/02(土) 23:11:34.75
疲れているせいかこんなんで笑える
759デフォルトの名無しさん:2013/11/02(土) 23:38:38.63
>>755
その方法はComboBoxならControlTemplateがStoryBoardでBackgroundを上書きしてしまうので効果がな〜い
http://msdn.microsoft.com/ja-jp/library/ms752094%28v=vs.110%29.aspx

じゃあどうする
ControlTemplateを書くしかありまっせん
既存のテンプレートコピーしてMouseOverのVisualStateだけ変更すればよかよ
760デフォルトの名無しさん:2013/11/03(日) 00:00:52.36
>>759
ControlTemplateは一度試したんだけど(IsMouseOver部分だけ書いた)
コントロール自体が表示されなくなった
ControlTemplateを作ると枠とかドロップダウンボタンなど全部作らないとだめってことでいいんでしょうか?
ControlTemplateで一部だけ変更するには上記のコードまるごとコピーした上で
変更するしかないですか?

WPFはデザインが楽って聞いたけど色の変更だけでもこれだけしないといけないって大変ですね・・・
761デフォルトの名無しさん:2013/11/03(日) 00:18:19.32
WPFのデザイン楽とか大嘘だから
業務システムなんかで画面遷移が多い場合テンプレート組み合わせてWebっぽく作れるから効率いいってだけ
762デフォルトの名無しさん:2013/11/03(日) 00:55:56.09
>>760
楽というか自由度が高い。それ故前のだとにっちもさっちもいかなかったものができたりもするが、自由ゆえにめんどくさいとこも。
763デフォルトの名無しさん:2013/11/03(日) 01:20:17.21
嘘、大げさ、紛らわしい
764デフォルトの名無しさん:2013/11/03(日) 05:56:27.11
コードとデザインが分離してるから分業しやすいとかも半分嘘だよな。
XAML見る機会が多いから他人の書いたXAMLはジンマシンが出てくる
765デフォルトの名無しさん:2013/11/03(日) 08:46:58.81
>>764
フォームよりは明らかにしやすいだろ(´・ω・`)
766デフォルトの名無しさん:2013/11/03(日) 11:00:34.50
Bindingソースだけ共有してれば割と分業楽だけど
767デフォルトの名無しさん:2013/11/03(日) 11:37:55.57
WPFの直感的でないところは逆引きに頼ってる人にとっては天敵だな
体系立ててシステムを学習してないとそんな発想でてこないってのが多い
768デフォルトの名無しさん:2013/11/03(日) 11:47:48.89
スタイルとかコントロールテンプレートとか、あとマークアップ拡張とか
Help読めば理解できるけど、直感というか他での経験的にできそうなことが出来なかったりもするね
自前で作ったコントロールを使う場合はclr-namespaceを指定するとか、別のアセンブリだと指定の仕方がまたw
769デフォルトの名無しさん:2013/11/03(日) 14:19:55.31
XAMLはinclude出来ると良いなと思うことが結構ある。まぁ出来るようになると
何処に何があるのか訳の分からんことになるのは間違いないけど同じ事を
何度も書くのはスニペットとか駆使しても疲れるわ。先ずはXAMLはツールが
もっと進化しないとキツイけど自由度高すぎて作るのも大変だろうな。
770デフォルトの名無しさん:2013/11/03(日) 14:46:37.96
優れてるのかどうかは知らないけど楽に書けるほうがいいね
CSS3はアニメーションが楽に書ける

まあ使わないけどな
771デフォルトの名無しさん:2013/11/03(日) 15:37:34.70
>>764
蕁麻疹や反吐がでるXAMLはVBプログラマーがポトペタで作ったやつ。
アラインメントやマージンを知らないバカが作るとそうなる。
772デフォルトの名無しさん:2013/11/03(日) 15:57:42.29
VB関係ないと思うが...
773デフォルトの名無しさん:2013/11/03(日) 16:02:00.10
全部マージンで配置してあると、小数点以下がビミョーにバラバラだったりとかが…
デザイナで小数点以下を無くすとかできないのかね。
774デフォルトの名無しさん:2013/11/03(日) 16:22:23.17
そんなことよりはやくC++/CLIでWPFつかるようにしてくださいよ
775デフォルトの名無しさん:2013/11/03(日) 16:22:55.12
キチョーメンな性格だな
776デフォルトの名無しさん:2013/11/03(日) 16:28:27.10
キメラ言語w
777デフォルトの名無しさん:2013/11/03(日) 17:34:26.29
さすがにアラインメントやマージンが各XAML毎にバラバラな画面とか保守したくないな
778デフォルトの名無しさん:2013/11/03(日) 20:14:22.14
>>774
別にVMから先だけでえーやん
779デフォルトの名無しさん:2013/11/04(月) 19:55:09.10
マージンバラバラってGUIから配置してるとそうならん?手で書いてるとあり得んし
色々理解してからは完全に手書きだな。昔のHTMLみたいだけどw
各コンテナの特性理解するまではマジで糞だと思ったなぁ。
780デフォルトの名無しさん:2013/11/04(月) 21:47:53.84
何言ってるのかよくわからん

マージンなんかデザイナでどう配置しようが、プロパティグリッド(みたいなの)で
明示的に指定しない限りデフォルト値じゃないのか。
781デフォルトの名無しさん:2013/11/04(月) 21:53:46.14
そもそもデザインできない奴がコード云々いっても広まるわけないんだよな
WPFはもっとデザイナーに訴求しないと、Windowsでこんなに美しいUI実装できますよ!ってね
まぁそんなことよりさっさとフォントレンダリング改善しろよって話、8では改善してくると思ったがこれじゃ9でも怪しいな
何故WindowsのフォントにデフォでDrawString適用しないのか意味がわからない
DrawString使えばOS X並みに綺麗なフォントが描写できるのに・・・
782デフォルトの名無しさん:2013/11/04(月) 23:35:17.29
>>780
Gridにエレメント貼り付けたことないの?
783デフォルトの名無しさん:2013/11/04(月) 23:47:12.51
>>761
やっぱ楽ってことじゃん
784デフォルトの名無しさん:2013/11/05(火) 20:36:55.51
>>780
デフォルトがGridなのでそこに何か貼り付けたら全部マージンで位置調整されちゃって
偉い事になるんだが全く触った事ないんだろうね。最初そういうコードが吐かれている
のでWPFってそういう流儀で書くものだと思って頭抱えたわ。
785デフォルトの名無しさん:2013/11/05(火) 20:39:21.41
>>781
俺もそう思う。
なのでBlend Expression的なデザインに特化したツールがVSと別に配布されるべきだと
思うんだけど・・・VSに統合されて終了とか何考えてるんだよと。
786デフォルトの名無しさん:2013/11/05(火) 21:44:00.54
regionで畳んでるコード付近で自作スニペットの挿入やるとカーソル位置じゃない所に
追加された挙句一部のコードを巻き込んで上書きしやがるんだけどこれって
スニペットの書き方が悪いの?それともバグ?
787デフォルトの名無しさん:2013/11/05(火) 21:51:49.56
なんでWPFスレで聞くのか
788デフォルトの名無しさん:2013/11/06(水) 00:18:10.02
だめだ早くツール作りたいのにWPF難しすぎる
>>759
これずっと悩んでいるんだけどできない

ListBoxでフォーカスがある行を赤で下線で表示
ListBoxでマウスオーバーしたところをハイライト

たったこれだけをやりたいだけなんけど
デフォルトのはMouseOverもFocusedもないので、自分でVisualStateに追加したんだけど
クリックした途端にエラーが出る
そのエラーメッセージもFrameworkPresenter.dllでエラーってなるだけで
何がどうだめなのかわからない
ControlTemplete.TrigerでFocusedを設定してもやっぱり効果なし
ListBoxでよく使われているはずなのに情報が全然ない
Blendあれば楽勝なんだろうけどExpresだからついてないし
もうちょっとヒント教えてもらえませんか?
もしくはWPFで作られているフォーカスやマウスオーバーを使っているListBoxなどあったら教えて下さい

もしかしてExpress使っている人でWPFやっている人いないのかな
789デフォルトの名無しさん:2013/11/06(水) 00:28:14.36
普通にDataTemplate食わせるだけじゃないの?
790デフォルトの名無しさん:2013/11/06(水) 00:30:40.77
素直にコードビハインド書けば3分で終わるのに
ご覧くださいこれが本末転倒というものです
791デフォルトの名無しさん:2013/11/06(水) 00:32:01.53
>>789
ItemContainerStyleだろう
792デフォルトの名無しさん:2013/11/06(水) 00:33:06.56
これでWPF流行ってたらおかしいわ
コードビハインドで十分
793デフォルトの名無しさん:2013/11/06(水) 00:36:48.59
>>788
見事につられてる君に俺が解答を上げよう

<Grid>
<ListBox ItemsSource="{Binding}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
</Grid>

これが正解

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = Directory.GetFiles("C:\\");
}
}

さあマウスオーバーしてみよう
794デフォルトの名無しさん:2013/11/06(水) 00:44:32.55
WPFって逆引きみたいのあるんだっけ?
一通り見たりしたけどWPFとストアでまた微妙に違ったり>>788みたいにやりたいことにたどり着けないことがある。
tipicalなものについて逆引きあるとたすかるんだが。
795デフォルトの名無しさん:2013/11/06(水) 00:47:48.23
英語の書籍しかない
796デフォルトの名無しさん:2013/11/06(水) 00:49:27.81
需要が無いものの書籍とか同人誌で出してるべきだし
797デフォルトの名無しさん:2013/11/06(水) 00:53:47.38
あるコントロールで使えても他のコントロールでは通用しないこともあるから
本を作りにくいと思う

ちゃんと網羅したらぶっとい本になる…
798デフォルトの名無しさん:2013/11/06(水) 00:54:42.01
なまじっか検索して出てくるから集積するだけだとウリにならんし
799デフォルトの名無しさん:2013/11/06(水) 00:55:23.12
慣れれば>>759のページとかでコントロールの構造見たりデフォテンプラ眺めれば
どこ弄ればいいか分かるようになってくるぜ
800デフォルトの名無しさん:2013/11/06(水) 01:12:34.39
>>793
うわーあっさりできた、なんなのー?
こんな短いコードでできるのに俺は一体何をやっていたの?
ListBoxデフォルトをコピーした長いコードのVisualStateをいろいろいじくりながら
(アニメーションさせたいわけじゃないのに・・・)と疑問に感じながら格闘してたのに
ぐぐってもBlendでやれってのばかりだし

>>793
スタイルだけをいじくったら赤の下線にしたり、選択しているものにも下線したりできますか?

>>790
コードビハインドでは書けないと思ってました(例がXamlばかりなので書き方もわからない)

基礎的な@ITやMSDNはひと通り読んだのになぁ。まったく理解できてなかった
とにかく教えてくれた方々、ありがとうございます
801デフォルトの名無しさん:2013/11/06(水) 01:35:26.20
>>795
英語の書籍でもいいんだけどねぇ
どれが良いやつなのか探すのがむずい。

>>799
確かにその辺でつかんでくのが早そうだね。めんどくさいが。

>>793
ストアだとトリガーないからどうなんだろ…
802デフォルトの名無しさん:2013/11/07(木) 00:52:43.34
WPFは、
「取り合えず触ってみて、行き当たりばったりでヘルプを読みながら作ってみる」
奴には向かないな (それでも出来る奴は出来るんだけど)

一から順序立てて段階的に学習してかないと、中々身に付かない
一度覚えちまえば、後はすげー楽なんだけど
803デフォルトの名無しさん:2013/11/07(木) 01:00:36.57
そうかあ?w

ロジックを理解しただけではどうにも分からない、ワークアラウンド的な知識が
結構要求されると思うんだけど。

もちろんそれはWindows Formでもあったことだけど、このあたりのすっきりしない感は
Windows Formに比べても酷くなってるとしか...
804デフォルトの名無しさん:2013/11/07(木) 13:42:32.50
Qt使おうぜ
805デフォルトの名無しさん:2013/11/07(木) 13:56:21.58
1から学べるところってあるの?もしくは書籍とか

コントロールのコマンド一覧、トリガープロパティ一覧、スタイルのプロパティ一覧ってどこで見れますか?

ビヘイビアって何?

できることとできないことがわからない

バインディングのバインディングのバインディングでわけがわからなくなる

インテリセンスがないから手探りで作れない

情報少ない

もう挫折しそうだ
806デフォルトの名無しさん:2013/11/07(木) 14:26:33.12
それなりの規模のアプリを完全なMVVMで1つ作ってみれば、いろいろ身につくはず。
安易にコードビハインドに逃げると身につかないかも。別にずっとMVVMで作れってんじゃなくて、
目標があった方が良いってことな。そこからどうするかは覚えてから考えればいい。
807デフォルトの名無しさん:2013/11/07(木) 14:41:04.09
>>804
Qtはもうオワコン
これからはWPFの時代
808デフォルトの名無しさん:2013/11/07(木) 15:02:54.36
MVVMでアクションゲームは作れますか?
809デフォルトの名無しさん:2013/11/07(木) 15:16:07.50
ゲームはwpfにはそもそも向かない。フレームワークの選択が間違ってる。
MVVMにもマッチしない
810デフォルトの名無しさん:2013/11/07(木) 20:13:34.78
>>808
疎結合なバグの少ないゲームがかけると思います(´・ω・`)
811デフォルトの名無しさん:2013/11/07(木) 20:18:39.11
アクションゲームの分野じゃないな
812デフォルトの名無しさん:2013/11/07(木) 21:44:49.60
WPFまわってきたから軽く片付けてやろうと思ったらドハマりwww
BitmapやGraphicsが一新されててわけわかめ・・・
画像ファイル読み込んでImageに表示するだけでなのに進まないわー
ラスターじゃなくてベクターだからって理屈はどうでもよくて、なんでWinFormsの知識をゴミにするかな・・・
813デフォルトの名無しさん:2013/11/07(木) 21:55:16.73
そりゃ別モンなんだからゴミにもなるだろ……
WinFormが100年続くとでも思ってたのか?
業務だけやってると世界から取り残されるから新しい技術は常に勉強しておけと…
814デフォルトの名無しさん:2013/11/07(木) 21:57:59.90
画像読み込んでImageに表示する程度はデザイナーでも余裕なので、それを参考にコードを書けばいいよ
815デフォルトの名無しさん:2013/11/07(木) 21:59:13.49
まあWPFにはdobonが無いから辛いのはわかる
816デフォルトの名無しさん:2013/11/07(木) 22:47:58.89
>>814
XAMLの例は載ってても、それをプログラムで動的にやるにはーで結構違うのがあって調べるのに2倍かかったりするからなー
817デフォルトの名無しさん:2013/11/07(木) 22:59:08.08
XAMLのほうは、試行錯誤するにはコメントアウトがやりにくくすぎる。
818デフォルトの名無しさん:2013/11/07(木) 23:01:24.22
バージョン管理しろ
819デフォルトの名無しさん:2013/11/07(木) 23:08:09.92
マジでdobonないの辛過ぎるわ
師匠のいない俺はdobonに育ててもらったようなもんだから
WPFもお願いしますよdobonさん
820デフォルトの名無しさん:2013/11/07(木) 23:11:38.25
ウインドウ一杯のCanvasに絶対座標でコントロール置いてくってのはWPFじゃ邪道かな
別のアプリから移植するんでコンバータ作って楽してるんだけど、なんか後ろめたさが拭えない
821デフォルトの名無しさん:2013/11/07(木) 23:18:08.72
エッセンシャルWPFの370ページのBindのサンプルでコレクションを
ListBoxにバインドするのが表示されなくて困っている
その前の単体のクラスをバインドするのはうまくできたのに
誌面に全てのコードが完全に書かれているわけではないので、
どこあたりで間違っているのかがわからない
822デフォルトの名無しさん:2013/11/07(木) 23:20:23.10
>>821
307ページでした
823デフォルトの名無しさん:2013/11/07(木) 23:24:14.96
いやページ教えられても持ってないですし
824デフォルトの名無しさん:2013/11/07(木) 23:25:12.62
本持ってる人だけしか相手にしてないみたいだしほっとけ
825デフォルトの名無しさん:2013/11/07(木) 23:39:49.21
持っている人がいればいないかな、内容は結構長い
WindowのdataContextにデータのクラスをnewで貼り付けてあって、そのクラスの中にIListのコレクションがある
で、そのコレクションはObservableColecction<>()でnewされていて、
表示される方のListBoxはItemSource="Binding Path=コレクションのプロパティ"としている
あとは、ボタンのから、DataContextをキャストしたクラスのインスタンスをたどってコレクションに向かって追加内容をAddしているんだけど
Notify関係がいまいち把握できてないので、この辺りが抜け落ちているのかもしてない
826デフォルトの名無しさん:2013/11/07(木) 23:41:30.53
説明書いたけどこれじゃわかんないね
827デフォルトの名無しさん:2013/11/07(木) 23:45:28.68
BindingするクラスでINotifyPropertyChangedをインプリメントしてないとかじゃないよね
828デフォルトの名無しさん:2013/11/07(木) 23:49:39.48
コレクションが含まれている親クラスのNofifyは実装しています
829デフォルトの名無しさん:2013/11/07(木) 23:51:19.11
>"Binding Path=コレクションのプロパティ"
どう考えてもここが一番怪しいからちゃんと書いた部分出せよ
830デフォルトの名無しさん:2013/11/07(木) 23:56:16.64
怪しいXAMLはこう。
<ListBox ItemsSource="{Binding Path=Addresses}" ></ListBox>
クラスはこんな感じ
public class Person : INotifyPropertyChanged {
public Person(Address ad)
{
addresses.Add(ad);
NotifyChanged("Addresses");
}
private IList<Address> addresses = new ObservableCollection<Address>();
public IList<Address> Addressees
{
get { return addresses; }
}
831デフォルトの名無しさん:2013/11/08(金) 00:03:05.09
なんでIListにしているんだ?バカか
832デフォルトの名無しさん:2013/11/08(金) 00:08:19.00
DataContextに対象オブジェクト入れてないとかそんなことじゃないよな?
833デフォルトの名無しさん:2013/11/08(金) 00:08:36.93
Addresses
Addressees

単純に名前間違ってるとかじゃないよね
834デフォルトの名無しさん:2013/11/08(金) 00:11:54.56
>>833
どうもすいません、そのようです
835デフォルトの名無しさん:2013/11/08(金) 00:12:23.59
>>834
君は目いらないね(ゲス顔)
836デフォルトの名無しさん:2013/11/08(金) 00:13:36.30
バインディングエラーは出力ウィンドウに原因が吐かれるからチェックしておくといいよ
837デフォルトの名無しさん:2013/11/08(金) 00:15:16.10
>>835
面目ない
>>836
なるほど、そうなんですね気をつけます
838デフォルトの名無しさん:2013/11/08(金) 00:16:41.89
>面目ない

うまい
839デフォルトの名無しさん:2013/11/08(金) 00:16:42.72
こういうの嫌いだから
WPFは嫌いだ

生産性が低すぎる
840デフォルトの名無しさん:2013/11/08(金) 00:19:17.74
まあここは動的のダメな面が出てるよな。
841デフォルトの名無しさん:2013/11/08(金) 00:21:54.91
お騒がせしました 勉強になりました
842デフォルトの名無しさん:2013/11/08(金) 00:24:34.71
VMのデザイン時インスタンスを設定して、バインディングビルダでバインドを書けば、
プロパティ一覧はビルダに出るよね確か。逆にだりーからこんなもん使ってないけど
843デフォルトの名無しさん:2013/11/08(金) 00:25:00.54
MSが糞すぎるんだよ
エディタとデザイナと言語仕様で何とかできる問題

事前に登録したワードでしか指定できないようにしろ
844デフォルトの名無しさん:2013/11/08(金) 00:40:06.21
>>840
Path名間違えても実行時エラーとか出ないんだよな
結構ボディブロー的に効いてくる
845デフォルトの名無しさん:2013/11/08(金) 00:42:57.39
実際のところエラーログは出してる以上、例外投げる実装にも出来たはずなんだけど
なんでせんかったんや
846デフォルトの名無しさん:2013/11/08(金) 00:52:28.32
せめてバインディングのパスをデザイナーで書いたらイベントハンドラーみたいに自動生成して欲しい
847デフォルトの名無しさん:2013/11/08(金) 02:29:29.57
リフレクションなんていらんかったんや
848デフォルトの名無しさん:2013/11/08(金) 03:26:08.92
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DataContext="{d:DesignData Source=/hoge.xaml}"

を追加したら、Binding Path= でインテリセンスでるよ。
849848:2013/11/08(金) 03:29:18.50
多分、VS2013から。
850デフォルトの名無しさん:2013/11/08(金) 04:17:42.37
>>845
なんでなんだろね。
ストアだとテーマアニメーション定義する時になんたらコレクションの中に入れないとダメなんだけどXAML上は囲まなくてもかけちゃって実行時に意味不ですっ飛ぶ。
コンテンツみたいななんでも入れられるとことわけられる気がするんだがなんかあんのかね
851デフォルトの名無しさん:2013/11/08(金) 05:17:01.16
逆引きないから云々言ってる奴って基本コピペプログラマーなんだろうなぁ
MSDN読んで自分の頭使っても分からないならcodeplexなりで人様のコードを
拾ってきて勉強するとかすりゃ良いのに。そういうのって適正の問題な気がするぜ?
言語とかフレームワークに関係ない次元の話だと思う。
852デフォルトの名無しさん:2013/11/08(金) 05:27:19.50
どうもゆとり世代かそれより下は
「教えてもらってません」
っていうのが多い
853デフォルトの名無しさん:2013/11/08(金) 06:37:49.65
>>852
「俺も、俺も」って同調しとけばいいじゃん
854デフォルトの名無しさん:2013/11/08(金) 08:11:17.76
>>851みたいに断片的にしか物事判断できないバカってプログラマに向いていないと思うわ
855デフォルトの名無しさん:2013/11/08(金) 09:30:37.88
>>854
くやしいのうwww
じゃあ逆引きが無いとWPFの勉強出来ない、書けない理由を説明してみ?
WPFで作られたプログラムなんぞゴロゴロあるけどみんなどうやって書いていると
思ってるの?少なくとも俺はWPFで業務アプリ作ってるけどそんなもん要らなかったぞ。

って書いてて思ったけど英語の情報は全く見ないのが前提になってそうだな。
856デフォルトの名無しさん:2013/11/08(金) 10:10:11.65
チューリングテストみたいだなw
857デフォルトの名無しさん:2013/11/08(金) 10:13:06.16
>>855
そんなこと言ってるから普及しないんだお
dobonがwinformsを広めたといっても過言ではないんだお
858デフォルトの名無しさん:2013/11/08(金) 10:18:07.12
それは過言だなw

dobon乙としかいいようがないw
859デフォルトの名無しさん:2013/11/08(金) 12:05:22.37
>>855
お前の思い込みが能力の限界を示している
860デフォルトの名無しさん:2013/11/08(金) 13:07:44.73
>>855
どの程度のものを作ったのか分からないけど、自分が分からないところの情報がピンポイントであったら話が早いし逆引きはそういうもんだろ。
俺がチームマネージャーで逆引き含めいい情報源があってその方が習得コスト下がるならいくらでもかうわー
861デフォルトの名無しさん:2013/11/08(金) 13:32:43.06
>>859
そればっかりだなw 具体的に書いてみなよ無脳君

>>860
存在その物は否定しないよ。
あったら便利と無いと勉強できないは大分差があると思うがどう?

WPF ToolkitとかのMS謹製のコードも見れたりするしWinFormsの時よりも
勉強しやすい環境になっていると思うけどな。大抵のネタはStackOverflowで
議論されている気もするし。

dobonが無いと嘆くより、本当に必要と思うならそれを自分(達)で作る位の
気概が必要な気もするけどね。
862デフォルトの名無しさん:2013/11/08(金) 13:39:44.99
まず覚える価値ないし
そんな気張らんでもいいんじゃないか
863デフォルトの名無しさん:2013/11/08(金) 13:53:45.03
>>861
勉強しやすい環境になってるのになんで普及しないと考えてる?

ボリュームゾーンの土方は未だ英語に拒否反応示してる人多いよ
あなたは能力があるのかもしれないが大抵は
まずはコピペで動かしてるうちに覚えるんじゃないかな。
PHPやJavaScript界隈はその辺が充実してるから普及したし
864デフォルトの名無しさん:2013/11/08(金) 13:54:40.25
>>861
お前に具体性がないからな、具体的に書けと言われても困りますね
お前は皆お前と同じ時間プログラミングに費やしたと思っているんだろうな
コミュ症特有の思い込み
865デフォルトの名無しさん:2013/11/08(金) 14:03:04.42
>>861はコードをコピペすることしかできなさそう
866デフォルトの名無しさん:2013/11/08(金) 14:28:19.61
プログラムは究極的にそこを目指してるんじゃない?

再利用可能なコンポーネントにモデル(ロジック含めて)食わせたら後は勝手にやってくれる
ってのが未来像じゃないのか?
867デフォルトの名無しさん:2013/11/08(金) 14:32:00.19
アセンブラのジャンプ先を間にある命令語のバイト数を数えて
決めてた世代だけどあれがプログラムの本質だとは思わない
868デフォルトの名無しさん:2013/11/08(金) 14:37:44.09
だね。ハードに近いと偉いと勘違いするけど
抽象化のほうが偉いと思う
869デフォルトの名無しさん:2013/11/08(金) 14:39:57.90
高級言語と呼ばれるシロモノはこの10年そんなに労力変わってない気がする
ライブラリやフレームワークが新化しても一緒に要求も上がるからな気もするが
870デフォルトの名無しさん:2013/11/08(金) 14:44:12.59
WPFのdobonみたいなサイト教えてください!
871デフォルトの名無しさん:2013/11/08(金) 14:47:26.18
要は網羅的に備忘録を集めたサイトか。無い。
872デフォルトの名無しさん:2013/11/08(金) 14:50:59.75
WPF Tips集ならあちこちにある
英語のサイトもある

ググれ
873デフォルトの名無しさん:2013/11/08(金) 15:00:14.26
dobon以外のサイトは筆者の自己満テクニックを我慢しきれず挿入してくるので難しいんですよねー
基本中の基本で1行づつ解説いれてくれるdobonさんのサイトは本当にありがたいです
874デフォルトの名無しさん:2013/11/08(金) 15:04:33.93
Microsoftはdobon氏に謝礼を渡すべき
875デフォルトの名無しさん:2013/11/08(金) 15:07:09.87
>>863
それは単純な話。日本ではPCアプリの開発が人気なくなったから。
そしてWindowsPhoneやWindowsRTが壮絶にこけてるから。
みんなWebやiOS、Androidそして組み込みの世界でCとかのコードゴリゴリ書いてるダロ
設計云々じゃなくて単に人がいないんだよ。
876デフォルトの名無しさん:2013/11/08(金) 15:42:38.38
>>864
本気で意味が分からん。どこをどう読んだらそんな妄想にたどり着くんだ?

>>873
結局ちゃんと動いている人のコード読むのが一番速いと思うのは変かな?
へー、そんな書き方があるんだって思わないで自己満とか思っちゃうあたり・・・。
WPFは応用が重要だしdobonレベルの基礎の話はMSDNで十分じゃないの?
877デフォルトの名無しさん:2013/11/08(金) 15:59:59.77
dobonみたいなサイトはあったほうがいいのに
なぜそこまで否定するのか
878デフォルトの名無しさん:2013/11/08(金) 16:29:58.25
>>877
否定っつーかさー、ググれば基礎の基礎なら大抵のコントロールとかの事なら書いている人いるし
@ITとかにWPFに関連する記事も結構あるでしょ。英語ならフリーで本配っている所すらあるよ(合法のな)
サンプルコードならhttp://code.msdn.microsoft.com/とかcodeplexとかそういうオフィシャルな所に色々あるし
大抵のトラブル、疑問の話ならStack Overflowでヒットするし他に何が必要なの?

って考えたらコピペしてそのまま使えるコード例の載っているサイトが欲しいって駄々こねてるだけにしか
見えないんだが。ググるのが労力かかるとかいうならもうプログラム辞めれば?ってレベルだと思うが?
879デフォルトの名無しさん:2013/11/08(金) 16:33:46.29
>>878
話がぜんぜん噛み合ってないですね、あなたが上から目線で見下して必要ないと言ってるのはよくわかりましたw

>>877
あったほうがいいですね、実際dobonのサイトは非常にわかりやすいです
878が英語読めない奴がプログラミング(ryって感じの切り返しがくると予想w
880デフォルトの名無しさん:2013/11/08(金) 16:34:29.08
でもdobonみたいなサイトがあったらWPFユーザーは増えると思うけど
881デフォルトの名無しさん:2013/11/08(金) 16:35:29.76
10km先に大手量販店あるのに、近所にコンビニいらなくねー?みたいな話だなw
882デフォルトの名無しさん:2013/11/08(金) 16:38:16.10
選民思想ってやーね
883デフォルトの名無しさん:2013/11/08(金) 16:40:22.97
昼間からいいご身分だね
884デフォルトの名無しさん:2013/11/08(金) 16:42:55.27
ナマポがあるからね
悠々自適ですわw
885デフォルトの名無しさん:2013/11/08(金) 17:50:28.91
自分に必要ないものはこの世に存在してはいけない教の人。
886デフォルトの名無しさん:2013/11/08(金) 18:06:34.56
情報まとまってる方がいいよねってのといらないよねって真反対の意見だから噛み合うはずもない(´・ω・`)
887デフォルトの名無しさん:2013/11/08(金) 18:09:14.21
日本のIT業界は土方だらけというのが良く分かるスレだなw
888デフォルトの名無しさん:2013/11/08(金) 18:10:38.54
必要ないってレスが必要なのか?って思うんだけど
実際dobonで助かったって人多いのに必要ないって根拠が弱過ぎるんだよね
dobonくらい易しくかつdobon以上の情報量のサイトがあるなら必要ないって根拠になり得るけどさ
stackoverflowやcodeplex出してドヤ顔とか噴飯ものなんですが
889デフォルトの名無しさん:2013/11/08(金) 18:37:20.41
>dobon以上の情報量

ここ笑うところ?
890デフォルトの名無しさん:2013/11/08(金) 18:37:23.89
必要無いとは言ってないよ。
誰かがまとめてくれるのを口開けて待ってて、それをプログラム書けない理由にするなら
他にも情報源があるんだしそれ見てやれば良いだろって話なだけ。無い物ねだりしてもしょうがないデショ。
まとまっている方が楽なのはわかるけど「WPF ほにゃらら」でググるだけでもdobonに書かれている
レベルの内容ならコード付きの記事が大抵引っかかるじゃん。もしそれが理解出来ないなら
http://social.msdn.microsoft.com/Forums/ja-jp/home?forum=wpfja
こういう所で質問するって選択肢だってあるんだぜ?
891デフォルトの名無しさん:2013/11/08(金) 18:42:18.28
>>890
この人の意見には賛同できる
892デフォルトの名無しさん:2013/11/08(金) 18:45:59.72
WPFはwinformsと仕組みは基本的に全くの別物
そこの理解無くしてコピペサイト作っても無駄なんだけどね…
手順だけ見ても基本的な理解がないと触れない
それがWPF
893デフォルトの名無しさん:2013/11/08(金) 18:53:34.36
894デフォルトの名無しさん:2013/11/08(金) 18:58:17.29
>>878
労力惜しむなというなら自作の言語でアプリ作れよ

お前が言っていることはこれぐらい幼稚なこと
895デフォルトの名無しさん:2013/11/08(金) 19:00:48.88
>>893
文句言ってる人はコンテンツごと整理された逆引きが欲しいのだろう
これじゃ中途半端感待ったなしだと思うぞ
896デフォルトの名無しさん:2013/11/08(金) 19:04:29.17
正直なところVB6.0から.NETに移行できたのはdobonさんのおかげ
897デフォルトの名無しさん:2013/11/08(金) 19:04:35.57
そもそもMSから公式入門書が出ないのが不思議すぎる
Forms(&VB)ならひと目でわかるシリーズが公式であるし、DB絡みで谷尻本とか沢山あるのにね
898デフォルトの名無しさん:2013/11/08(金) 19:04:47.73
さっきからダダこねてる人は具体的に何がやりたいんだ?
参考として教えてほしい

WPFとwinformsじゃ粒度が違うからその都度自分で解決していくしかないと思うんだけど
899デフォルトの名無しさん:2013/11/08(金) 19:05:49.52
>>894
うん、ゴメン。全く何言っているか分からない。
900デフォルトの名無しさん:2013/11/08(金) 19:07:32.56
だいいち日本語の書籍が実質エッセンシャルWPFしかないのもおかしい
公式の開発テクノロジー入門もSLの方が扱い大きくてWPFはさらっと流してるだけ
本気でWPFへの移行促したいなら公式本の充実があってしかるべきだが
901デフォルトの名無しさん:2013/11/08(金) 19:08:50.36
dobnのWPF版はほしいな
最低限WinFormsでできることはやりたいし
それがないと乗り換える気が起きない
902デフォルトの名無しさん:2013/11/08(金) 19:12:05.35
dobonさんのサイトみたいなのがないとWPFは無かったものになりそう
903デフォルトの名無しさん:2013/11/08(金) 19:12:27.38
全般
新しいウィンドウを表示する
ウィンドウが一つしか表示されないようにする
ウィンドウにOKボタン、キャンセルボタンを付ける
別のウィンドウのデータを取得、設定する
ウィンドウを閉じる
条件によりウィンドウが閉じられないようにする
ウィンドウの「閉じる」ボタンを無効にする
・・・・

察するにこんな感じのコンテンツが欲しいんだろw
904デフォルトの名無しさん:2013/11/08(金) 19:16:15.27
>>898
>>788が未だに出来ません
905デフォルトの名無しさん:2013/11/08(金) 19:17:16.17
WinFormsでできないことが楽にできたら乗り換える人もいるだろうけど。
現状、なんだかんだで、WPFで書いてても、WinFormsが必要になったり。
Bindingの利点はわかるが、そこまで必要かって話でもある。
まあ、WPFは失敗で終わりでいいんじゃないの?
2、3、WPFで書いてみたけど、今後も使いたいとは思えなかった。
906デフォルトの名無しさん:2013/11/08(金) 19:26:24.74
>>900
これMicrosoft Pressの翻訳だと思うよ。上下巻でクソ高いけどw

http://www.amazon.co.jp/dp/482229496X

原本は

http://shop.oreilly.com/product/0790145369079.do

洋書はオフィシャル含めてそこそこ出ているけど、思うにWPF(windows presentation foundation)という
名前が今は露出していないんだと思う。日本語の本が全然無いのは>>875だと思っている。
907デフォルトの名無しさん:2013/11/08(金) 19:27:23.78
>>904
もう教えただろw
908デフォルトの名無しさん:2013/11/08(金) 19:38:39.63
>>905
適当な例ですまんがToggleButtonの中にTextBlockとImageとTextBox混在させるとか
WinFormsで簡単にできるの?
909デフォルトの名無しさん:2013/11/08(金) 19:41:28.97
適当過ぎ
910デフォルトの名無しさん:2013/11/08(金) 19:44:54.23
>>908
それが簡単にできることよりリストビューにdisplayIndexが無いのが
致命的
911デフォルトの名無しさん:2013/11/08(金) 19:48:32.31
ListBoxの選択された行の背景色を変えたいのに変えられない
<Trigger Property="IsSelected" Value="True">
<Trigger.Setters>
<Setter Property="Background" Value="Red"/>
</Trigger.Setters>
</Trigger>

変えられないのになぜこんなプロパティを用意しているの?ということが多すぎる
しかもエラーもでないし

でもフォーカスに下線を引くのは上のトリガーみたいなので簡単にできたのですごいと思った
WinFormsだと座標決めてDrawで描画しなければならなくてコードが長いし
どぼんコピペしなければ到底辿りつけなかった
912デフォルトの名無しさん:2013/11/08(金) 19:51:01.24
>>908
それが簡単にできることが本当に必要かというと、そうでもなかったりする。
たしかにUIの柔軟性は認めるけど、Winformsのコントロールで最低限のことはできちゃうからね。
他と違うコントロール作りたい人にはいいのかもしれないが、
コントロールデザインの多様性の模索は、すでに失敗している。
913デフォルトの名無しさん:2013/11/08(金) 19:52:25.33
WPFってどうでもいいことはできるけど、基本的なこと(WinFormsにある機能)がなかったりするから
イラっとしちゃうよね
もうWPFも切り捨てられちゃった技術だから今更言っても仕方がないけどね
914デフォルトの名無しさん:2013/11/08(金) 19:55:51.62
>>909
すまんな、丁度今さっきこういうコードを書いたところだったんだよ。一般的では無い事は認めるw

>>912
> コントロールデザインの多様性の模索は、すでに失敗している
これどういう意味?基本パーツ以外不要とかいう不思議な意見?
915デフォルトの名無しさん:2013/11/08(金) 19:57:04.63
基本パーツにすらたどり着けなかったのがWPF
916デフォルトの名無しさん:2013/11/08(金) 19:57:12.10
DisplayIndexに関してはItemsControl.AlternationIndexを代用するって小技がある
917デフォルトの名無しさん:2013/11/08(金) 19:57:53.92
>>913
WPFもSilverlightもWindowsStoreAppもみんな同じ技術の流れだしMSの世界では
モリモリ使われているって事だけど誰が切り捨てたの?
918デフォルトの名無しさん:2013/11/08(金) 20:00:10.54
>>916
dobonさんのサイトが無いから使い方がわからんw
919デフォルトの名無しさん:2013/11/08(金) 20:00:39.21
Xamlは終わってないけどWPFとSilverlightは終了したでしょ
現にVS2013でなんの追加も修正もされていない
920デフォルトの名無しさん:2013/11/08(金) 20:02:10.41
それ言ったらWinFormsはどうなんだw
921デフォルトの名無しさん:2013/11/08(金) 20:03:50.78
オイオイ・・・Silverlightが終了したのは確かだが、
VS2013でWPFデザイナは進歩してるだろ。

何も見えてないんだな。
922デフォルトの名無しさん:2013/11/08(金) 20:04:10.13
WinFormsは完成されてるからなぁ
923デフォルトの名無しさん:2013/11/08(金) 20:07:57.21
セットのBlendがWPFに対応していない時点でやる気ないとしか思えないがw
924デフォルトの名無しさん:2013/11/08(金) 20:10:13.38
>>923
WPFのはVSに内蔵されただけでしょ。WindowsStoreApp推したいのはしょうがあるまいw
925デフォルトの名無しさん:2013/11/08(金) 20:12:33.65
WPFのデザイナのプロパティって説明が一切ないよね
WinFormsは↓に表示されるのに
いちいちMSDN見ろってことか
926デフォルトの名無しさん:2013/11/08(金) 20:18:46.57
Win7のメニューやボタンのぷっくり感が嫌いで仕方がなくWPFで作っている
OS側でVSのようなDarkテーマにできればわざわざこんなことしなくて済むのに
いつまでたっても背景真っ白、メニューぷっくりのままなのはなぜなんだ
何か問題あるのかね
多分そのせいでWPF上でのコントロールのカスタマイズに支障が出てるんだと思う
927デフォルトの名無しさん:2013/11/08(金) 20:24:05.55
WPFだと自由なデザインが作れますっていうけど
丸いボタン作りたいなんて全然思わないのにこんな例ばっか
パソコン使っているのにタッチパネル向けのスペースをやたら取るデザインなんてしたくないしな
928デフォルトの名無しさん:2013/11/08(金) 20:27:07.42
>>925
あの程度の説明ならWPFデザイナでも別の場所に表示されるからMSDNを見る必要はない。
929デフォルトの名無しさん:2013/11/08(金) 20:30:25.85
>>927
確かに悪い例ばっかりだな。

実際はレイアウトの自動計算によって不要な空白を無くしたりして
スペースの有効活用もできるんだがな。
930デフォルトの名無しさん:2013/11/08(金) 21:36:32.19
WPFはジャップが大好きな方眼を使ったレイアウトができないからなあ
Excel方眼紙と同じ感覚でレイアウトできるようになればジャップにバカウケ間違いなし
931デフォルトの名無しさん:2013/11/08(金) 21:38:18.38
GridでColumnとRow沢山並べれば方眼レイアウトいけるよ
932デフォルトの名無しさん:2013/11/08(金) 21:39:54.39
なぜ出来ないと思ってしまったのか
933デフォルトの名無しさん:2013/11/08(金) 21:42:44.53
WinFormsならVSのデザイナの設定だけでできるでしょ
934デフォルトの名無しさん:2013/11/08(金) 22:04:24.00
ListBoxの選択背景色の変更の仕方を教えてください
935デフォルトの名無しさん:2013/11/08(金) 22:05:31.51
ControlTemplate
936デフォルトの名無しさん:2013/11/08(金) 22:19:36.40
まとめないから同じ質問が何度も出てくる
937デフォルトの名無しさん:2013/11/08(金) 23:25:27.96
上島のどうぞどうぞ状態を待ってるのか?
938937:2013/11/08(金) 23:26:00.95
誤爆です
939デフォルトの名無しさん:2013/11/08(金) 23:30:37.17
どうしてここまでメソッド含めてガラっと変えたんだろ
WPF使って欲しいならWinFormsと同じように使えないと人気出る訳ないんだけど・・・
WPFやろうとして技術調査から始まって結局最後MVVM諦めたってケースの現場結構多いんだよね
チームで開発するわけだから俺は余裕とか意味ないっすよ
940デフォルトの名無しさん:2013/11/08(金) 23:33:50.67
新人に教えたら2ヶ月でバッチリMVVMのアプリ書けるようになったぞ
諦めるとかどんだけ職場の技能レベル低いんだよ
941デフォルトの名無しさん:2013/11/08(金) 23:34:35.99
進歩できない奴に対する縁切りのつもりだったんじゃないの
ちょっと破壊力ありすぎたのが問題だね(笑)
942デフォルトの名無しさん:2013/11/08(金) 23:36:06.88
むしろ新人の方がいいんじゃねえの
先入観もしがらみもベテランちゃんより少ないでしょ
943デフォルトの名無しさん:2013/11/08(金) 23:39:52.49
2ヶ月の新人が作るようなアプリ大したことなくね?
944デフォルトの名無しさん:2013/11/08(金) 23:42:20.24
そんな優秀な新人がMVVMで似たような画面量産するだけの仕事とか勿体無さすぎる
945デフォルトの名無しさん:2013/11/08(金) 23:42:40.59
新人に教えられる自信ねーや。
.net自体をしっかり理解してる必要があるからなぁ。WPFの前に
946デフォルトの名無しさん:2013/11/08(金) 23:58:38.71
>>943
dobon dobon言ってるのはそれ以前で挫折してるみたいだしなぁ
947デフォルトの名無しさん:2013/11/09(土) 00:04:48.59
たった二か月の経験で綺麗なMやVMが設計できるとは思わん
948デフォルトの名無しさん:2013/11/09(土) 00:10:03.55
あー、仮にdobonがそのレベルだとすると、応用が効かないから
答えそのものが書いてなきゃ作れないだろうなぁ・・・
949デフォルトの名無しさん:2013/11/09(土) 00:23:05.67
>>935
具体的に教えて下さい
950デフォルトの名無しさん:2013/11/09(土) 00:26:24.01
上の方でListBoxItemの背景色を状態に応じて変える質問が出てたけど、
例えば、

 - マウスオーバーで背景色を赤に変えるアニメーションを開始

 - マウスオーバーでなくなったら元に戻すアニメーションを開始

 - でもListBoxItemが選択されている時にはどっちのアニメーションも開始しない

 - ListBoxItemが選択された時、背景色を青に変えるアニメーションを開始

こういうわりとありがちな仕様ですら、結局XAMLだけじゃ実装できないんだな。
俺がWPFを好きになれない理由の1つがこういう中途半端なところ。
951デフォルトの名無しさん:2013/11/09(土) 00:31:23.57
この程度できて当然でしょってのができない苛立ちWPF
952デフォルトの名無しさん:2013/11/09(土) 00:33:44.55
WPFじゃないとできないデザインってのを見たことがない
あったとしても使えない代物だろうな
953デフォルトの名無しさん:2013/11/09(土) 00:38:06.87
FormでできないのってMacのようにウィンドウにドロップシャドウ付けるくらいかなw
WPFだと驚くほど簡単だからあれだけはWPFすげぇー!って思った
954デフォルトの名無しさん:2013/11/09(土) 00:39:24.85
>>950
普通に出来るだろ。
955デフォルトの名無しさん:2013/11/09(土) 00:43:36.10
>>954
サンプルコードください(dobon並の)
956デフォルトの名無しさん:2013/11/09(土) 00:46:22.64
MultiTriggerとStoryboard使えばXAMLだけで出来るけど面倒くさいね
957デフォルトの名無しさん:2013/11/09(土) 00:46:36.38
> ウィンドウにドロップシャドウ付ける
それはWPFだから簡単にできるって類のものではない気が...

それより、今じゃTVのUIでも使われているアルファ付きの背景のウィンドウが
Windows Formでは難しかったわけだけど、それが簡単に出来るようになった点は
やっと当たり前のことが出来るようになったかと思った。
958デフォルトの名無しさん:2013/11/09(土) 00:49:31.72
>>954
いやできないでしょ。
XAMLだけでどうやっても条件で分岐する処理は実現できないし
959デフォルトの名無しさん:2013/11/09(土) 00:52:52.98
>>958
もう答え書かれてるのに喋っても意味ないぞ
960デフォルトの名無しさん:2013/11/09(土) 00:57:35.50
>>958 のXAML知識浅いのにDisってるの丸分かりになった感じ、きらいじゃないよ
961デフォルトの名無しさん:2013/11/09(土) 01:05:31.91
俺は君みたいな幼稚臭い奴嫌いだけどね
962デフォルトの名無しさん:2013/11/09(土) 01:08:29.85
このageちゃう感じも嫌いじゃないぞww
963デフォルトの名無しさん:2013/11/09(土) 09:43:22.91
煽って答えを引き出そうとする精神も嫌いじゃない
964デフォルトの名無しさん:2013/11/09(土) 10:45:34.07
仲いいね
965デフォルトの名無しさん:2013/11/09(土) 15:40:09.65
C#関連で検索するときにdobonとatmarkitを除外するのは常識。
966デフォルトの名無しさん:2013/11/09(土) 16:01:35.13
具体的に

教えてください
967デフォルトの名無しさん:2013/11/09(土) 16:03:21.35
VSのDarkテーマのようなのがほしい
公式から出ているテーマはどれも背景明るすぎて使えない
968デフォルトの名無しさん:2013/11/09(土) 23:00:55.75
叩かれるの承知で質問しやす
ググってもこれっていうのが中々見つからないんですが
FormのSystem.Drawing.GraphicsとBitmapの代替クラスって何か教えてください
969デフォルトの名無しさん:2013/11/09(土) 23:02:57.04
あっというまに答えちゃうとwriteablebitmapとdrawingcontextかな
970デフォルトの名無しさん:2013/11/09(土) 23:08:18.00
>>967
うわ、即レスありがとうございます
早速格闘します
971デフォルトの名無しさん:2013/11/09(土) 23:09:31.30
>>969
でした、スマソ
972デフォルトの名無しさん:2013/11/09(土) 23:11:06.79
973デフォルトの名無しさん:2013/11/09(土) 23:13:45.95
>>972
ああ、そこを一発で探せればな(´・_・`)
974デフォルトの名無しさん:2013/11/09(土) 23:14:17.50
System.Drawingを直接使えなくもない
975デフォルトの名無しさん:2013/11/10(日) 16:31:05.70
>>972
public static BitmapSource CreateBitmap(
int width, int height, double dpi, Action<DrawingContext> render)
{

これクラス名がないんですがどうやって呼び出すんですか?
976デフォルトの名無しさん:2013/11/10(日) 17:00:59.47
お前には無理だ諦めろ
普通のプログラミングの勉強をしてこい
977デフォルトの名無しさん:2013/11/10(日) 20:47:20.59
>>975
確かにそれ見てそんなこと言ってるぐらいだったらWPFに手を出すべきじゃないと思う(´・ω・`)
978デフォルトの名無しさん:2013/11/10(日) 22:52:51.66
カラー選択ダイアログってみなさんどうしてるんでしょうか?
979デフォルトの名無しさん:2013/11/10(日) 23:21:14.97
>>976
初心者に毛の生えた程度のお前が偉そうに言ってるんじゃねーよ

>>977
するべきか否かを他人のお前にとやかく言われる筋合いはない
勝手に上司面してんじゃねーよカス
980デフォルトの名無しさん:2013/11/10(日) 23:27:29.58
>>979
こんな無能な部下いらんわ(´・ω・`)
981デフォルトの名無しさん:2013/11/10(日) 23:45:27.85
wpfの管轄じゃないからC#の質問スレで質問してきな
982デフォルトの名無しさん:2013/11/10(日) 23:52:19.26
>>980
それお前が言われているんだろw
983デフォルトの名無しさん:2013/11/10(日) 23:52:45.32
>>979
初心者に毛が生えてもいない奴に程度と言われてもな…
こういうコピペerでも給料もらってると思うと、胸が熱くなるな
984デフォルトの名無しさん:2013/11/10(日) 23:53:48.69
ageで顔文字使う奴なんてリアルじゃ誰からも相手されてないんだろうなw
985デフォルトの名無しさん:2013/11/10(日) 23:56:17.10
>>983
見事なブーメラン
986デフォルトの名無しさん:2013/11/11(月) 00:02:35.06
975は酷すぎだろ
いくらなんでも
C#やるレベルじゃない
987デフォルトの名無しさん:2013/11/11(月) 00:03:16.72
>>975
バカがいきがるな、勉強してこい
以上
988デフォルトの名無しさん:2013/11/11(月) 00:03:47.48
>>986
最初はみんなそんなもんだろ
対して知能もないくせにただ長くやっているだけで偉そうにするなよ虫けら
989デフォルトの名無しさん:2013/11/11(月) 00:05:40.57
>>986
お前じゃあ.NetFrameworkが用意しているクラス全部記憶してるのか?
990デフォルトの名無しさん:2013/11/11(月) 00:06:22.07
何だよこの訳の分からない煽り合いは
991デフォルトの名無しさん:2013/11/11(月) 00:06:41.01
>>989
本日の面白レス
992デフォルトの名無しさん:2013/11/11(月) 00:07:29.35
>>989
余裕
993デフォルトの名無しさん:2013/11/11(月) 00:09:50.11
>>989
小学生かよww クソワロタw
994デフォルトの名無しさん:2013/11/11(月) 00:11:25.26
どうしようもないレベルだったww
995デフォルトの名無しさん:2013/11/11(月) 00:15:43.12
>>988-989
>>972のページほんとに見たのか?
それでだめなら文法から勉強しなおし
以上
996デフォルトの名無しさん:2013/11/11(月) 01:58:50.80
いいぞもっとやれ!ってスレ終わってまうがな
997デフォルトの名無しさん:2013/11/11(月) 02:14:48.57
しょうもない煽り合いに笑ったw
争いは、同じレベルの者同士でしか発生しない!!
998デフォルトの名無しさん:2013/11/11(月) 04:02:59.31
勉強してから、いかにアホなこと言ってたか顔真っ赤になるパターンw
999デフォルトの名無しさん:2013/11/11(月) 10:46:54.90
反省するくらいならこんなこと言いませんし
1000デフォルトの名無しさん:2013/11/11(月) 12:27:26.99
ここままスレ消滅でいいよ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。