WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
レス数が950を超えています。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/
0870デフォルトの名無しさん
2010/05/12(水) 18:13:55WPFはまだ情報量少ないみたいだし
0871デフォルトの名無しさん
2010/05/12(水) 18:18:10最終的に何を作るかでも変わるけど似てるようでかなり違うからなあ
下手にFormの方を覚えるとWPFだと戸惑うこともあるよ
0872デフォルトの名無しさん
2010/05/12(水) 18:21:510873デフォルトの名無しさん
2010/05/12(水) 19:48:05最初からWPFって、どうやって学習した?
後学のために教えて欲しい。
0874デフォルトの名無しさん
2010/05/12(水) 19:53:59ネットで情報収集。殆どはMSDNから。
書籍はエッセンシャルWPFだけ買った。
質問はここやC#スレで。
まだ全体は勉強してないけどな。目的のアプリ作るには一部だけでも十分。
C#と.NET Frameworkも同時にだったからだいぶかかったが。
0875デフォルトの名無しさん
2010/05/12(水) 19:54:500876デフォルトの名無しさん
2010/05/12(水) 20:02:060877デフォルトの名無しさん
2010/05/12(水) 20:03:39そんなことはないんじゃないの?
WPF側で名前つけておけばFormでやてったようなことはできるし
そういうのがだめってのならWPFなりの書き方すればいいだけだし
0878デフォルトの名無しさん
2010/05/12(水) 20:24:03.NET FrameworkっていうとC#とかのライブラリみたいなものだよね?
C#学習するのと.NET学習するのって違うの?
初心者なんで見当違いなこといってたらすまん
0879デフォルトの名無しさん
2010/05/12(水) 20:28:17.NET Framework上で動く中間コードを作るための言語が
C#やVB.netだよ
0880デフォルトの名無しさん
2010/05/12(水) 20:53:46英文法と英会話
0881デフォルトの名無しさん
2010/05/12(水) 23:18:460882878
2010/05/12(水) 23:24:39少しは理解が深まった、サンクス
0883デフォルトの名無しさん
2010/05/12(水) 23:39:31ありがとう。やっぱりネットか。
早く最新状態に即した書籍が出てくれないかなと思うんだが、欲しい情報は
ネットを探しまくるしかないんだな。
0884デフォルトの名無しさん
2010/05/13(木) 02:46:40> C#が言語で、.NETはそれらの言語で使えるライブラリ群
前後逆の方がよくね?w
0885デフォルトの名無しさん
2010/05/13(木) 03:12:59言語の方が具体的で、ライブラリの方が抽象的だから。
880は、くその役にも立たない例えの見本みたいなもんだと思う。
0886デフォルトの名無しさん
2010/05/13(木) 15:20:36カラムのある領域外では選択不能にするにはどこ弄るのだろう?
ItemContainerStyle?
0887デフォルトの名無しさん
2010/05/13(木) 17:16:33マウスで矩形選択っぽく範囲選択できるようにしたいだけなのに…
0888デフォルトの名無しさん
2010/05/13(木) 17:33:31こういうの?
矩形ってのがWinFormのDataGridViewでの[4,6]-[7,8]までのセルを選択、とか言うのなら多分GridViewじゃ無理だが
0889デフォルトの名無しさん
2010/05/13(木) 22:40:53最高の回答だ
だがなんでこんな微妙な部分で退化してんだ
楽しくなって来た所なのになー
0890デフォルトの名無しさん
2010/05/13(木) 23:18:08結局SilverlightではListView削られてDataGrid追加された
WPF Toolkitか.NET4で逆輸入されたDataGrid使ったら?
0891デフォルトの名無しさん
2010/05/13(木) 23:56:27WinFormをWPFで呼び出しています。
Windows.FormsIntegrationを参照して、
UserControl1には、400x400のグループボックスがあります。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:ts="clr-namespace:WpfApplication1"
Title="MainWindow" Height="500" Width="500">
<Grid>
<WindowsFormsHost>
<ts:UserControl1 />
</WindowsFormsHost>
</Grid>
</Window>
とMainWindow.xamlで呼び出しても400x400の大きさになってくれません。
なぜでしょう??
0892デフォルトの名無しさん
2010/05/13(木) 23:59:01これHeightとWidthをautoにしたらなるんじゃね
0893デフォルトの名無しさん
2010/05/14(金) 00:13:42レスありがとうございます。Autoやってみましたが、駄目でした。
0894デフォルトの名無しさん
2010/05/14(金) 00:18:46<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
</Grid>
0895891
2010/05/14(金) 00:26:450896デフォルトの名無しさん
2010/05/14(金) 00:45:41<ts:UserControl1 />
</WindowsFormsHost>
でも下長になる。
使用モニタ AcerB273HU 2048x1152、
フラットスクウェアの1280x1024のPCでやってみましたが下に長くなってしまいます。
ペイントに張り付けてピクセル測ってみると 約 横230px 縦300px となります。
0897デフォルトの名無しさん
2010/05/14(金) 01:11:03public UserControl1()
{
InitializeComponent();
Graphics g = this.CreateGraphics();
this.groupBox1.Width = (int)(400 * 72 / g.DpiX);
this.groupBox1.Height = (int)(400 * 72 / g.DpiY);
}
にしても駄目でした。Formでしか動作しないカメラ実況をWPF上の
どうしても表示させないといけないのですが。。。
0898デフォルトの名無しさん
2010/05/14(金) 03:54:03思うように動かないもどかしさで強烈にイライラしてきた
0899デフォルトの名無しさん
2010/05/14(金) 04:04:51イミフ
0900デフォルトの名無しさん
2010/05/14(金) 04:15:11が正確みたいだ
選択されているセルの上でもう一度クリックするとMouseDownが来る
これ誰が得する仕様なんだオイ
0901デフォルトの名無しさん
2010/05/14(金) 04:47:36もう辞めてしまえ
0902デフォルトの名無しさん
2010/05/14(金) 04:52:08http://wpf.codeplex.com/wikipage?title=Single-Click%20Editing&ProjectName=wpf
こういうとこに辿り着けないわけ?
お前の能力が低いんだよ
0903デフォルトの名無しさん
2010/05/14(金) 06:25:57App.config をどうにかしてexeに埋め込めませんか?
app.configの埋め込みに関して探していますが、
それらしいページは以下しか見つかりません。
ttp://d.hatena.ne.jp/Kazzz/20050930/p1
私にはこのサイトに書かれている4行(枠で囲まれている部分)
の意味が全く分からないのですが、分かる方おりませんか。
俺はDIコンテナを使っていないので1行目は除くとして、
2〜4行目の「指定された場合」「配置されていた場合」というのは
開発側で制御することなので「指定していた場合」「配置していた場合」
ならまだ分からなくもないのですが・・・(仮にそうだとしても結局分からないのですが)。
枠の下に、「この状態でアセンブリ名+...」とありますが、
この状態っていったいどういう状態のことなのか読み取れません。
俺はapp.config を使っており、ビルドすると アセンブリ名+.exe.config が生成される
状態です。俺の解釈だと、枠内3行目から、俺はapp.config を使って
アセンブリ名+"components.config と言う名前で設定ファイルを埋め込む
のだと思うのですが、ここで書いてある「設定ファイル」が何なのかも不明ですし
よく分かりません。
俺が使っているapp.configを「埋め込みリソース」にして
アセンブリ名+components.config
アセンブリ名+.components.config
アセンブリ名+.exe.components.config
と名前を変えてビルドしてみましたが、configファイル内を読んではくれませんでした。
結局 app.config を埋め込むにはどうすれば良いのでしょうか?お願いします。
0904デフォルトの名無しさん
2010/05/14(金) 06:54:550905デフォルトの名無しさん
2010/05/14(金) 07:11:21.NET用のS2がApp.configを使っている。
S2でApp.configを使わない場合はどうするかという内容だろそれ。
0906903
2010/05/14(金) 07:12:52申し訳ありません。
WPFから入ったもので、この話はVC#全般のことなのですね。
別スレにて質問いたしますので、>>903は無視してください。
スレ汚し失礼しました。
0907903
2010/05/14(金) 07:17:34ありがとうございます。
.NET用のS2・・・が分かりませんので調べてみます。
貼ったURL先は、私のやりたいtこととは違うということですか・・・残念です。
書き込むタイミングが悪くてすみません。
消えます。
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:06レス数が950を超えています。1000を超えると書き込みができなくなります。