WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/12/27(日) 10:58:30て語るスレ。.NET3.5 SP1 もリリースされて盛り上がってまいりますた。
Visual Studio 2008
ttp://www.microsoft.com/japan/msdn/vstudio/
Microsoft .NET Framework 3.5 Service Pack 1
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja
WPF Toolkit - June 2009 Release
ttp://wpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29117
Visual Studio 2010
ttp://www.microsoft.com/japan/msdn/vstudio/2010/overview/
関連スレ
Microsoft Silverlight その4
ttp://pc12.2ch.net/test/read.cgi/tech/1244812356/
過去スレ
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1245384489/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
ttp://pc12.2ch.net/test/read.cgi/tech/1231506876/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
ttp://pc11.2ch.net/test/read.cgi/tech/1211453941/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
ttp://pc11.2ch.net/test/read.cgi/tech/1162950198/
0908デフォルトの名無しさん
2010/05/14(金) 07:20:41ネームスペースであったりしない?
まあWPFは関係ないのは事実だな
0909デフォルトの名無しさん
2010/05/14(金) 07:34:30MSやばいんじゃねーの
0910デフォルトの名無しさん
2010/05/14(金) 14:15:11DataGrid_PreviewMouseDownで拾えるだろ。
まずMSDNのイベント一覧よく見ろ。
>>902
お前もトンチキな回答して得意気になってんじゃねえよ。
0911デフォルトの名無しさん
2010/05/14(金) 16:43:58AirだとMacでも動くからな。
0912デフォルトの名無しさん
2010/05/14(金) 16:52:290913デフォルトの名無しさん
2010/05/14(金) 22:37:17ありがとう
すまん
俺が一番トンチキなんだよ
902もthx
0914デフォルトの名無しさん
2010/05/14(金) 23:12:57Viewort3D 内のモデルをデフォルトの(グーロー?)シェーディングではなく、
三角形の面法線に対するフラットシェーディングで描画したいのですが、どのようにすればできるのかお教えください。
三角形毎に(座標の重複を気にせずに)点を登録してワインディングするのはデータが増えてしまうので避けたいと考えています。
0915デフォルトの名無しさん
2010/05/14(金) 23:31:34. ィ
._ .......、._ _ /:/l!
:~""''.>゙' "~ ,、、''‐'、| _ またまた ご冗談を
゙、'、::::::ノ:::::::_,.-=. _〜:、 /_.}'':,
``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ
" .!-'",/ `'-‐'') /\ `/ でノ-〈
.-''~ >'゙:: ‐'"゙./ ヽ.,' ~ /
//::::: ', / ,:'゙
0916デフォルトの名無しさん
2010/05/15(土) 01:44:290917デフォルトの名無しさん
2010/05/15(土) 01:49:250918デフォルトの名無しさん
2010/05/15(土) 06:58:51いい加減リファレンス以外に隠しコマンドなんてないって知れ
0919デフォルトの名無しさん
2010/05/15(土) 07:02:100920デフォルトの名無しさん
2010/05/15(土) 10:41:280921デフォルトの名無しさん
2010/05/15(土) 10:42:58Appleの強権発動しまくりでAPIをシンプルに保つやり方がうらやましくなってくるな
0922デフォルトの名無しさん
2010/05/15(土) 12:04:410923デフォルトの名無しさん
2010/05/15(土) 14:07:28真似してやってみるともっと気持ちいい。
0924デフォルトの名無しさん
2010/05/15(土) 14:17:200925デフォルトの名無しさん
2010/05/15(土) 17:07:230926デフォルトの名無しさん
2010/05/15(土) 17:09:37それ以上は無理だった
WPFはGridだけでいいと思った
0927デフォルトの名無しさん
2010/05/15(土) 20:25:57見つからないとしてApplicationやテーマも見る」なんだよね?
で、テンプレートは論理ツリーにはぶら下がらない(TemplateParentの説明@MSDNによると)。
ってことはテンプレートの中からは、Applicationやテーマのリソースしか見えないってことでおk?
キーを明示的に指定すると外にあるXAML上の親要素のリソースのスタイル等も見えているような気がするけど。
0928デフォルトの名無しさん
2010/05/15(土) 21:42:04GUIのソフトは何でもかんでもWPFにするべきだと思う?
0929デフォルトの名無しさん
2010/05/15(土) 21:44:500930デフォルトの名無しさん
2010/05/15(土) 21:49:360931デフォルトの名無しさん
2010/05/15(土) 21:58:390932デフォルトの名無しさん
2010/05/15(土) 22:19:51ソースとなるクラスに
public ScaleTransform st;があって、
XAML側では
<TextBlock Text="{Binding Path=st.ScaleX}"/>
というふうに指定した。参考↓Path=(オブジェクト名).(プロパティ名)による指定ができるらしい。
http://msdn.microsoft.com/ja-jp/library/system.windows.data.binding.path.aspx
ソース直下のプロパティだと問題なくバインディングできるのに。
XAMLでやるのは無理かな?
0933デフォルトの名無しさん
2010/05/15(土) 22:20:49うまくいかなかったソースも晒せよ
0934デフォルトの名無しさん
2010/05/15(土) 22:27:58ていうかオブジェクト名とかリンク先には出てこないようだが?
0935デフォルトの名無しさん
2010/05/15(土) 22:31:15そうですパブリックフィールドです。
リンク先のは
>プロパティのサブプロパティは、C# で使用される構文と同様の構文によって指定できます。
>たとえば、Path=ShoppingCart.Order 句は、オブジェクトまたはプロパティ ShoppingCart
>のサブプロパティ Order へのバインディングを設定します。
が該当するかなと
0936デフォルトの名無しさん
2010/05/15(土) 22:32:46それとINotifyPropertyChangedを実装するか依存プロパティを使う必要がある
InitializeComponentの前で代入すれば一応動く(更新はされない)
0937デフォルトの名無しさん
2010/05/15(土) 22:35:420938デフォルトの名無しさん
2010/05/15(土) 22:39:17namespace WpfApplication1
{
public partial class MainWindow : Window
{
public ScaleTransform s;
public MainWindow() {InitializeComponent();}
public static readonly DependencyProperty PercentProperty =
DependencyProperty.Register(
"Percent",
typeof(double),
typeof(MainWindow),
new FrameworkPropertyMetadata(0.1));
public double Percent
{
get { return (double)GetValue(PercentProperty); }
set { SetValue(PercentProperty, value); }
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
s = new ScaleTransform();
Binding bi = new Binding("ScaleX");
bi.Source = s;
this.SetBinding(PercentProperty, bi);
s.ScaleX = 1.2;
}
private void stack_Loaded(object sender, RoutedEventArgs e)
{stack.DataContext = this;}
}
}
0939デフォルトの名無しさん
2010/05/15(土) 22:40:39そのまま貼りw
ここは外部のコード貼りサイト使わないのか
0940デフォルトの名無しさん
2010/05/15(土) 22:42:09xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:w="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525"
Loaded="Window_Loaded">
<Grid>
<w:CustomControl1></w:CustomControl1>
<StackPanel x:Name="stack" Loaded="stack_Loaded">
<TextBlock Text="{Binding Path=Percent}"/>
<TextBlock Text="{Binding Path=s.ScaleX}"/>
</StackPanel>
</Grid>
</Window>
イランとこ削ったけどこんな感じ。Percentプロパティはちゃんとバインドできてる。
>>936のRelativeSource Selfでの指定ではうまくいかんかった。
0941デフォルトの名無しさん
2010/05/15(土) 22:42:470942デフォルトの名無しさん
2010/05/15(土) 22:45:04(゚д゚)
0943デフォルトの名無しさん
2010/05/15(土) 22:48:00RelativeSource Selfでうまくいかないのはそれが理由
更新を確実に反映させるには>INotifyPropertyChangedを実装するか依存プロパティを使う必要がある
0944デフォルトの名無しさん
2010/05/15(土) 22:50:04デバッグよりも、書籍で基礎的なBindの説明を全部読み直すことをお勧めする。
あと出力ウィンドウを見ろ。バインド失敗の実行時エラーが表示される。
0945デフォルトの名無しさん
2010/05/15(土) 22:51:490946デフォルトの名無しさん
2010/05/15(土) 22:54:28http://ideone.com/
http://codepad.org/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
0947デフォルトの名無しさん
2010/05/15(土) 22:58:25出力ウィンドウ見てなかった…。
>>946
次からそこ使います
0948デフォルトの名無しさん
2010/05/15(土) 23:47:33Windowに書かないとだめだ。
あとソース直下のプロパティが依存プロパティでないと変更が反映されない。
今回の例では、フィールドからプロパティに書き直した”s”が依存プロパティでないと、
そのプロパティであるScaleXが依存プロパティでもきちんと反映されない。
>>943の言ってることがようやくわかった。今日はぐっすり寝られる。おやすみなさい
0949デフォルトの名無しさん
2010/05/16(日) 02:50:140950デフォルトの名無しさん
2010/05/17(月) 01:34:04やる気がしねえや。
0951飛び出せ!名無しくん
2010/05/18(火) 07:06:30オススメある?
0952デフォルトの名無しさん
2010/05/18(火) 08:01:300953デフォルトの名無しさん
2010/05/18(火) 15:57:19一儲けさせてもらいますか
0954デフォルトの名無しさん
2010/05/18(火) 20:51:48ちゃんと情報を咀嚼したWPFの本を書いてくれると言うのか。
頼むわ、良かったら買うから。
0955デフォルトの名無しさん
2010/05/18(火) 22:39:290956デフォルトの名無しさん
2010/05/18(火) 23:37:220957デフォルトの名無しさん
2010/05/18(火) 23:59:56<Style TargetType="..."/>と<Style TargetType="..." x:Key="{x:Type TextBlock}"/>は同じなのか…
リソースの検索ルーチンワケワカメ
0958デフォルトの名無しさん
2010/05/19(水) 00:25:23咀嚼っていうか
ちょっとゲーしちゃったやつだけど
よかったらお召し上がりください
0959デフォルトの名無しさん
2010/05/19(水) 22:52:34理解深めるには良いかもしれんが。
和書なら少々古いが、川西氏翻訳のWindows Presentation Foundationプログラミングがオススメだと思うが。
洋書なら Pro WPF 一択かね?タウンページ並の分厚さで読むのに不便だが。
0960デフォルトの名無しさん
2010/05/19(水) 23:29:07川西氏翻訳〜は
その後に決まりが変更されたことばかりで
間違った知識が入ってしまうと思うけどなぁ。
サンプルソースを入れてもビルド通らないこと多いし。
0961デフォルトの名無しさん
2010/05/19(水) 23:32:25WPFのマイナーさが浮き彫り
0962デフォルトの名無しさん
2010/05/19(水) 23:46:02ほとんどのプロパティにアレが仕込まれてると思うと、
ちょっとゾッとするな。
データークラス作るの面倒くさいし。
CLRのオブジェクトレベルで実装してくれればいいのに。
0963デフォルトの名無しさん
2010/05/20(木) 00:06:41添付プロパティとか言語に組み込んだら型の意味がなくなる
0964デフォルトの名無しさん
2010/05/20(木) 00:08:52あれとは?
0965デフォルトの名無しさん
2010/05/20(木) 00:18:06{
if (value != this.hogeValue)
{
this.hogeValue = value;
NotifyPropertyChanged("hoge");
}
}
0966デフォルトの名無しさん
2010/05/20(木) 00:19:27IDEとかじゃなく一般人が使うようなので
0967デフォルトの名無しさん
2010/05/20(木) 00:20:44これは仕方ないでしょ・・・
0968デフォルトの名無しさん
2010/05/20(木) 00:31:040969デフォルトの名無しさん
2010/05/20(木) 00:32:37そんなの言ってたらSQLとかhtmlとかどうするのw
0970デフォルトの名無しさん
2010/05/20(木) 00:46:060971デフォルトの名無しさん
2010/05/20(木) 00:48:420972デフォルトの名無しさん
2010/05/20(木) 01:58:56それはない
つマシン組み直し
0973デフォルトの名無しさん
2010/05/20(木) 01:59:330974デフォルトの名無しさん
2010/05/20(木) 02:36:32無い。
そういうのはAdobe AIRが使われている。
0975デフォルトの名無しさん
2010/05/20(木) 03:33:27おま、何のためにLINQ出て来たと思ってんだよwwwww
0976デフォルトの名無しさん
2010/05/20(木) 06:58:01unsafeみたいにブロックで区切ってそこからはSQLネイティブで書いてインピーダンスミスマッチはは規定もしくは明示的に指定したものを使うとかで。
LINQは便利だけどなんか無理くり自分の土俵に持って来てる感が美しくない。
0977デフォルトの名無しさん
2010/05/20(木) 07:50:130978デフォルトの名無しさん
2010/05/20(木) 18:29:44すぐに、マイクロソフトらしい実用に耐えない設計の甘さが露呈してきて幻滅する。
0979デフォルトの名無しさん
2010/05/20(木) 18:41:45もっと具体的に
0980デフォルトの名無しさん
2010/05/20(木) 22:37:58動的に変更することって出来ますか?
例えばスライドバーで1〜10の値を得られるとし、
スライドバーの値を大きくすると、アニメーションの速度も
一緒に速くなるようなことがしたいのです。
どうやればできそうでしょうか?
0981デフォルトの名無しさん
2010/05/20(木) 22:43:27アニメーションのDurationプロパティのバインディングを使えばいいんじゃない
0982デフォルトの名無しさん
2010/05/21(金) 05:21:480983デフォルトの名無しさん
2010/05/21(金) 05:24:230984デフォルトの名無しさん
2010/05/21(金) 07:08:080985デフォルトの名無しさん
2010/05/21(金) 10:17:540986デフォルトの名無しさん
2010/05/21(金) 10:53:500987デフォルトの名無しさん
2010/05/21(金) 11:27:240988デフォルトの名無しさん
2010/05/21(金) 11:29:44下手糞
0989デフォルトの名無しさん
2010/05/21(金) 11:46:250990デフォルトの名無しさん
2010/05/21(金) 11:56:11お前が書けYO
0991デフォルトの名無しさん
2010/05/21(金) 13:31:070992デフォルトの名無しさん
2010/05/21(金) 13:35:370993デフォルトの名無しさん
2010/05/21(金) 13:43:050994デフォルトの名無しさん
2010/05/21(金) 15:09:28(´・ω・`) うさちゃんピース
0995デフォルトの名無しさん
2010/05/21(金) 15:17:310996デフォルトの名無しさん
2010/05/21(金) 15:27:55http://pc12.2ch.net/test/read.cgi/tech/1274423236/
0997デフォルトの名無しさん
2010/05/21(金) 16:16:130998デフォルトの名無しさん
2010/05/21(金) 16:21:150999デフォルトの名無しさん
2010/05/21(金) 16:22:27醜さは骨の髄まで
1000デフォルトの名無しさん
2010/05/21(金) 16:32:2910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。