WPF(XAML,XBAP,.NET3.5)GUIプログラミングat TECH
WPF(XAML,XBAP,.NET3.5)GUIプログラミング - 暇つぶし2ch412:デフォルトの名無しさん
08/09/17 22:07:45
C#やVBのコードじゃなくてXaml側で動的に生成するのはめんどいだろうし、
wpfはそういうものじゃないと思うけどな。

413:デフォルトの名無しさん
08/09/17 22:11:29
ListBoxのテンプレートいじってバインディング?

414:デフォルトの名無しさん
08/09/17 22:31:24
>>411
用途による。

単純に機械生成が目的なんだったら >>412 の言うように XAML でやることじゃない。
素直に C# コード側で Children.Add(new Button{})。

可変長のデータを ListBox 中に表示したいってのが目的なんだったら、
>>413 の言うように DataTemplate を書く。
ListBox.ItemTemplate を設定するか、
<DataTemplate DataType="{x:Type XXX}">

415:デフォルトの名無しさん
08/09/18 00:21:09
何だかんだでMSの力技で流行るんですか?
WPFとかXAMLとか

416:デフォルトの名無しさん
08/09/18 00:25:53
>>415
XAML 自体はそれなりに行くと思う。
Silverlight 2 or later もあるし。

WPF は、なくなりはしないけども、
今、元 WPF チームの人員は Silverlight に駆り出されてるって話も聞くし、
力押ししてもらえるかどうか。
WinForms の置き換えとしては優秀だと思うんで、
今後使われはするだろうけども。

417:デフォルトの名無しさん
08/09/18 00:44:50
WPFはSilverLightも含めてだけど柔軟性とか思想はよいとおもふ。
けどなぁ、とりあえず重すぎ。

AVALONの頃のコンセプトビデオを実現してるのってなんか無いような気がしてきた・・・

418:デフォルトの名無しさん
08/09/18 04:25:26
XAMLにもJavaScript的なものがあったら便利だと思うんだよね
UIを可変にするためにさ

419:デフォルトの名無しさん
08/09/18 07:16:37
>>411,418
Childrenコレクションに子要素を追加すればHTML DOMと同じようなことが出来る。
>>207のを参考に。これのやってることは次のXAMLとかわらん。
<Grid>
 <Grid.RowDefinitions>
  <RowDefinition/>
  <RowDefinition Height="84"/>
 </Grid.RowDefinitions>
 <DockPanel x:Name="DockPanel1" Grid.Row="0">
  <TextBlock x:Name="tb1" TextWrapping="Wrap" Background="Aqua">not used xaml wpf-application demo</TextBlock>
  <TextBlock x:Name="dynatb" TextWrapping="Wrap" Background="Yellow">いろはにほへと ちりぬるを</TextBlock>
  <TextBlock x:Name="tb3" TextWrapping="Wrap" Background="LightBlue">
    いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへと ちりぬるを いろはにほへ..
  </TextBlock>
 </DockPanel>
 <Button x:Name="Button1" Grid.Row="1" Height="48" Width="240" Content="push me" FontSize="24"/>
</Grid>
例えば、ボタンをDockPanelに動的に追加したいなら
DockPanel1.Children.Add(new Button()) といった感じになる。

420:デフォルトの名無しさん
08/09/18 07:23:48
>ボタンの数を増やしたり減らしたりする
程度だったら表示・非表示を切り替える方法が一般的。
基本的に動的レイアウトだから追加したかのように見える。


421:デフォルトの名無しさん
08/09/18 08:25:28
>>418
それがコードビハインドだから。

WPF の場合は XAML 中に Script タグ書けるけども、非推奨。

422:デフォルトの名無しさん
08/09/18 14:33:38
すいません、教えてください。
"Expression Blend"で作ったWPFコントロールライブラリを"Visual Studio"で利用する方法がわかりません。
参照追加してもオブジェクトブラウザにしか表示されず、コントロールとして扱えないんです。

もしかして「Expression」で作ったものは「Visual Studio」で使うことはできないんでしょうか・・・
それとも、「WPF」にそんな概念すらないものなんでしょうか?

423:デフォルトの名無しさん
08/09/18 18:25:42
>>422
プロジェクトの参照に追加ではなく、
ツールボックス>アイテムの選択
から参照dllを追加する

424:デフォルトの名無しさん
08/09/18 18:33:05
ああぁっ!そういうことだったんですか!
できました~(PД`q。)

本当に、m( _ _ )m ありがとうございました。

425:デフォルトの名無しさん
08/09/18 21:42:29
デザイナのタブで直接動作テストできるようにならないんかな

426:デフォルトの名無しさん
08/09/19 12:56:50
だめだ・・・・
まだWIN2000使ってる企業が多いのに3.5に移行なんぞできない
2000までサポートすりゃ使いたいが・・・・


427:デフォルトの名無しさん
08/09/19 23:20:19
longhorn時代のコンセプトビデオではAVALONスゲェ━━━ヽ(゚Д゚)ノ━━━!!!!
とおもってたんだが、WPFがでてからしばらくしてもこれはスゲェ━━━ヽ(゚Д゚)ノ━━━!!!!というソフトが出てこないのはなぜですか?

428:デフォルトの名無しさん
08/09/19 23:39:50
Avalon時代に想定されていたCPU 6GHz メモリ8GBの環境が整ってないからですw

429:デフォルトの名無しさん
08/09/19 23:42:43
メモリ要求は8GBじゃなくて2GBだったお orz

430:デフォルトの名無しさん
08/09/19 23:55:34
>>428
それは時代が周波数アップからマルチコア化に変わっただけでは。
今、デュアルの3GHzとかだし。

431:デフォルトの名無しさん
08/09/20 03:53:50
>>430
デュアルコアの4~6GHzなんだなこれが。

432:デフォルトの名無しさん
08/09/20 10:20:30
>>431
そんなの想定してたのか。
平均レベルが?
上の方のレベルだと今でもクワッドと6コアとかになってるが。
来年くらいにはクワッド2~3GHzが主流になってるのかね。

433:デフォルトの名無しさん
08/09/20 10:33:37
LoiLoScopeはすごいと思う

434:デフォルトの名無しさん
08/09/20 10:55:09
あれはよいかも。
でもあれDirectXじゃなかったっけ?

435:デフォルトの名無しさん
08/09/20 11:03:14
マルチコア化ってCPUのクロックの限界にぶち当たったから
苦肉の策でやってるだけだぜ

436:デフォルトの名無しさん
08/09/20 11:17:47
ネットサーフィンくらいしかしないユーザーがマルチコアを有効に使えそうな場面て
動画のデコードくらいしか思いつかない。

437:デフォルトの名無しさん
08/09/20 11:21:55
そういうユーザは動画見てる時はそれだけに集中するからマルチじゃなくても余裕なんだよな

438:デフォルトの名無しさん
08/09/20 11:33:00
今はシングルでも辛い事少ないだろうしね

439:デフォルトの名無しさん
08/09/20 11:53:37
でもデュアルコアには感動したな
何か処理しててもキビキビ動く

440:デフォルトの名無しさん
08/09/23 17:14:22
TextBlockのForegroundプロパティにLinearGradientBrushを指定して
かなと漢字が混ざったテキストを表示させると、かなと漢字の境目でグラデーションが
途切れるんだけどなんとかならない?

441:デフォルトの名無しさん
08/09/23 20:36:28
ClearTypeでも有効にしてるんじゃね?
影響あるか知らんけど

442:デフォルトの名無しさん
08/09/24 02:11:58
ScrollViewerの中のTextBlockにKeyDown拾わせるために、フォーカス持たせたいんだけど、
focus()呼んだ直後にフォーカス失ってるっぽい。
ScrollViewerの外のTextBlockなら大丈夫なんだけど、なんで?

TextBox使えよってのはなしの方向でたのんます。

443:442
08/09/24 03:02:30
なんかよくわかんねぇけど、治った。 orz

444:デフォルトの名無しさん
08/09/25 21:48:28
こういうルーズXAMLを作って遊んでいるのですが
URLリンク(kansai2channeler.hp.infoseek.co.jp)

<RectangleGeometry.Rect>
  <Rect X="0" Y="0" Width="123" Height="110"/>
のXだけをDoubleAnimationを使って変更する方法はないでしょうか
Storyboard.TargetProperty ="Rect.X" などではエラーになります
とりあえずRectAnimationで回避してますがちとメンドくさいです


445:デフォルトの名無しさん
08/09/27 08:37:24
PowerPointとVisioのXAML化まで、つぎのOfficeは買わないつもり。

446:デフォルトの名無しさん
08/09/27 22:52:30
>>444
Rectは値型だから

447:デフォルトの名無しさん
08/10/02 03:53:01
XBAP製のXAMLPadみたいな何かってもうあったっけ?
とふと疑問に思ったがどっちにしろ.NET3.x必要だから無意味か

448:デフォルトの名無しさん
08/10/02 14:46:19
前にSilverlightでだけどXAMLをスキン代わりにしてWebメールサービスの模様替えするみたいなデモやってたけど
ああいうのをユーザーがブラウザ上で自由に編集できるエディタあるといいと思う

449:デフォルトの名無しさん
08/10/02 22:15:25
>>448
許可する。作れ

450:デフォルトの名無しさん
08/10/02 23:10:19
>>449
編集結果を適用させるすべがないから無理

451:デフォルトの名無しさん
08/10/04 20:45:32
自作コントロールの中にExpanderが入ってるんだが、
Expanderを広げたときにコントロールのサイズも合わせて大きくするってのは
コード書かないとできない?

452:デフォルトの名無しさん
08/10/05 11:20:16
>>450
XamlReaderでできないか?

453:デフォルトの名無しさん
08/10/05 15:33:00
XAMLでメッセージボックスを表示すると、System.Windows.FormsのメッセージボックスのようにVisual Styleが適用されないんですが、同じように(Visual Styleが適用された)デザインにする方法はないでしょうか?

454:デフォルトの名無しさん
08/10/09 12:13:12
System.Windows.Forms.FolderBrowserDialogを呼び出すときにオーナーウィンドウを指定したいんだけど
WPFのWindowからIWin32Windowを得るにはどうやればいいんですか?

455:デフォルトの名無しさん
08/10/09 12:23:53
WindowInteropHelperでウィンドウハンドル取得
あとはIWin32WindowのWPF的基本実装としてHwndSource

456:454
08/10/09 15:29:30
>>455
HwndSourceのIWin32WindowとFormのIWin32Windowは別のinterfaceだったので
自分で実装して解決しました。
ありがとうございました。

457:デフォルトの名無しさん
08/10/11 22:56:54
PropertyGridのWPF版みたいなのってない?

サードパーティで発売されてるのがあるってことは
Microsoft製では存在しないってことかな?

458:デフォルトの名無しさん
08/10/11 23:03:48
URLリンク(blogs.wankuma.com)

ここのサンプルみたいにHierarchicalDataTemplateを使う場合
TreeViewItem.Expandedのようなイベントを拾うにはどうやればいいんでしょうか?

459:デフォルトの名無しさん
08/10/12 00:59:39
>>458
親の TreeView 側で routed event を拾って、
sender を調べる。

460:デフォルトの名無しさん
08/10/13 09:56:20
非WPFでのAutoSizeに対応するものって何?

461:デフォルトの名無しさん
08/10/15 00:35:27
<UserControl
 xmlns="URLリンク(schemas.microsoft.com)"
 xmlns:x="URLリンク(schemas.microsoft.com)"
 x:Class="testnamespace.TitledThumb"
 x:Name="UserControl">
 <Thumb Focusable="True" DragCompleted="Thumb_DragCompleted" DragDelta="Thumb_DragDelta" DragStarted="Thumb_DragStarted">
  <Thumb.Template>
   <ControlTemplate TargetType="{x:Type Thumb}">
    <Grid x:Name="LayoutRoot">
     <Rectangle Fill="#FFFFFFFF"/>
     <Label Content="ここに文字を入れたい"/>
    </Grid>
   </ControlTemplate>
  </Thumb.Template>
 </Thumb>
</UserControl>

TitledThumbクラスには依存関係プロパティ"Text"を用意した。
これの「ここに文字を入れたい」ってところにTextの内容を入れたい。
どうしたらいい?

462:デフォルトの名無しさん
08/10/15 00:49:59
>>461
{Binding
RelativeSource={RelativeSource AncestorType={x:Type Thumb}},
Path=Text
}

463:デフォルトの名無しさん
08/10/16 00:18:26
あるUserControlの中に複数のSliderが存在したときに
そのUserControlを利用する側で
Thumb.DragCompleted、Thumb.DragStartedのイベントを受けたとき
どのSliderのイベントか判別ってできますかね?

464:デフォルトの名無しさん
08/10/16 08:50:05
sender が何かで区別。
てっとり早くやるなら Tag に何か入れとく。

465:デフォルトの名無しさん
08/10/17 21:51:47
>>462
Thanks!


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