WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6at TECH
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part6 - 暇つぶし2ch547:デフォルトの名無しさん
10/06/22 22:30:07
オラオラ、下請けども、つべこべ言わずに、客の言うとおりに作れや。
こっちは、金出してんだぞ。

それが嫌なら、プライムベンダーに転職しろや。
つーか、わざわざ戦場で足軽に就職するってマゾ?


548:デフォルトの名無しさん
10/06/22 22:50:28
※触らないでください。


549:デフォルトの名無しさん
10/06/22 22:51:26
誰かが触らなくても気は触れているからな。

550:デフォルトの名無しさん
10/06/22 23:17:48
.NET Framework 4でOuterGlowBitmapEffectとかBitmapEffectGroupを使おうとして全然動かなくて非推奨に気付いた。
DropShadowBitmapEffectが動くだけになかなか気がつかなかったよ。

551:デフォルトの名無しさん
10/06/22 23:25:11
3.5の頃から非推奨扱いになってるよ

552:デフォルトの名無しさん
10/06/23 01:58:25
非推奨なのにObsoleteになってるわけでもなくドキュメントに非推奨って書いてるものが混じっているという程度で
ビルドも通るし非推奨の警告も何も出ないのに動かすと何も動作しないのがひどいなど。
4もサポート対象に入ったままだし。

553:デフォルトの名無しさん
10/06/24 10:27:26
色をバインドする方法は文字列だけですか?

554:デフォルトの名無しさん
10/06/24 11:02:14
ValueConverter使えば自由

555:デフォルトの名無しさん
10/06/25 00:09:30
ナビゲーションにはPageを使うのが向いてるとのことだけど、
例えばゲームでよくある
ストーリーモード
VSモード
プラクティス
オプション
クレジット
というようなメニューがあって、オプションを選択したら、右からにゅにゅっと
オプション項目が出てくるようなUIを作りたいとき、Pageを使うのは有効?
それとも各画面をリソースとして作っておいて、
Clickイベントをイベントトリガで拾うなりして自分でごりごり書いていくのがいいかな。
後者だと遷移アニメーションはなんとかできそう。でもリソースとしてUIを書いていくのは
デザイナ使えないしちょっと大変だな。

556:デフォルトの名無しさん
10/06/25 00:41:04
メニューとテンプレートで済みそうな気がする
ページではないんでないか

557:デフォルトの名無しさん
10/06/25 07:24:39
線をL本、RectangleをM個かかせたいとき、(L、Mは可変)
どうすればいいですか?

558:デフォルトの名無しさん
10/06/25 07:39:12
なんだこのプログラマとは思えない質問は


559:デフォルトの名無しさん
10/06/25 07:41:55
こういう質問だとよかったかも

線をL本、RectangleをM個かかせたいとき、(L、Mは可変)
WPF流に実装するにはどうすればスマートでしょうか?

560:デフォルトの名無しさん
10/06/25 08:35:37

(´・ω・`)


561:デフォルトの名無しさん
10/06/25 13:43:53
線をL本、RectangleをM個書いてはどうか

562:デフォルトの名無しさん
10/06/25 14:33:39
マジレスすると情報が少なすぎて
何をしたいのかわからないんだよ

563:デフォルトの名無しさん
10/06/25 14:36:48
WPF勉強中です。
System.Windows.Controls.Controlから派生した複合コントロールの作成を目指しています。XAMLを使用しない条件です。

VisualCollection m_Children;
public コンストラクタ()
{
m_Children = new VisualCollection(this);
m_EditButton = new Button();
m_EditButton.HorizontalAlignment = HorizontalAlignment.Left;
m_EditButton.VerticalAlignment = VerticalAlignment.Top;
m_Children.Add(m_EditButton);
m_ClearButton = new Button();
m_ClearButton.HorizontalAlignment = HorizontalAlignment.Left;
m_ClearButton.VerticalAlignment = VerticalAlignment.Top;
m_Children.Add(m_ClearButton);
}
protected override int VisualChildrenCount
{
get { return m_Children.Count; }
}
protected override Visual GetVisualChild(int index)
{
return m_Children[index];
}

こんなかんじで追加した要素を表示しようとしているのですが、O番目しか表示されません。
位置とサイズ設定コードは別にありますがそれは問題ないです。
Add順序を変えると勿論変えたO番目だけ表示されます。
実装する上で何が足りないのか問題が解決できずに煮詰まっています。

564:デフォルトの名無しさん
10/06/25 14:49:08
これは…w

565:デフォルトの名無しさん
10/06/25 16:06:00
>>563
MeasureOverride と ArrangeOverride の実装どうなってる?試しに下の様にして実行してみたけど表示されたよ。

public MyControl() {
 _children = new VisualCollection(this) {
   new Button() { Content = "A", Width = 100, Height = 30 },
   new Button() { Content = "B", Width = 100, Height = 30 }
 };
}
protected override int VisualChildrenCount { get { return _children.Count; } }
protected override Visual GetVisualChild(int index) { return _children[index]; }
protected override Size MeasureOverride(Size constraint) { return constraint; }
protected override Size ArrangeOverride(Size arrangeBounds) {
 var rect = new Rect(arrangeBounds);
 foreach (var i in _children) {
  var c = (FrameworkElement)i;
  c.Arrange(rect);
  rect.Y += c.Height;
 }
 return arrangeBounds;
}

あと、Template 使わないのなら Control から直接派生する意味ないので UserControl から派生させれば?
VisaulTree のルートも Panel にしておけば自分で実装する手間は省けるよ。まあ、使えそうな Panel がないなら自分で書くしかないけど。

566:デフォルトの名無しさん
10/06/25 16:32:08
>>565
ありがとうございます。2個目以降の表示ができました。
それらの実装も書く必要があったのですね・・・。

567:デフォルトの名無しさん
10/06/25 16:38:26
洋書でMVVM学ぶのにいい参考書あったら教えてください。



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch