イントレ。
Tag for "WPF"
.NET Framework 3.5 SP1のWPF関連の変更記事を検索中。
全体としてよくまとまっていたのが、WindowsClient.netのやつかな。
以下、これから使いそうなのをメモ。
・新しいWriteableBitmapクラス。
・VirtualizingStackPanelの仮想化モード。(VirtualizationMode=Recycling)
・ScrollViewerの遅延スクロール。(IsDeferredScrollingEnabled=True)
・BindingのStringFormat。({Binding StringFormat="{}{0}時{1}分"})
・IEditableCollectionView。
D3DImageとかWebBrowserとかShaderEffectsはそのうち遊ぼうかな。
SP1には入っていないのですが、WPF版のDataGridのCTPがCodePlexでリリースされてます。
WPF版Ribbonと一緒に冬頃にリリースされるのかな?
全体としてよくまとまっていたのが、WindowsClient.netのやつかな。
以下、これから使いそうなのをメモ。
・新しいWriteableBitmapクラス。
・VirtualizingStackPanelの仮想化モード。(VirtualizationMode=Recycling)
・ScrollViewerの遅延スクロール。(IsDeferredScrollingEnabled=True)
・BindingのStringFormat。({Binding StringFormat="{}{0}時{1}分"})
・IEditableCollectionView。
D3DImageとかWebBrowserとかShaderEffectsはそのうち遊ぼうかな。
SP1には入っていないのですが、WPF版のDataGridのCTPがCodePlexでリリースされてます。
WPF版Ribbonと一緒に冬頃にリリースされるのかな?
ぼーっとしながら.NET Framework 3.5 SP1関連情報を探している家に出会ってしまった。
ひげねこにっき「WPF+XNA」
ひにけにXNAの中の人のブログですね。
RPGツクールなどでおなじみのタイル上にマップを描画していくプロセスを、ピクセルシェーダーを使ってやってます。
記事の方にも書いてるとおり、マップチップの配置情報をテクスチャに図形を描画して、
シェーダー側からその情報を取得、実際に描画されるマップチップのピクセルを返すという処理。
GPUのそういう使い方もあるんだなぁ…と感心してます。
本当にアイディア次第の世界ですね。
ひげねこにっき「WPF+XNA」
ひにけにXNAの中の人のブログですね。
RPGツクールなどでおなじみのタイル上にマップを描画していくプロセスを、ピクセルシェーダーを使ってやってます。
記事の方にも書いてるとおり、マップチップの配置情報をテクスチャに図形を描画して、
シェーダー側からその情報を取得、実際に描画されるマップチップのピクセルを返すという処理。
GPUのそういう使い方もあるんだなぁ…と感心してます。
本当にアイディア次第の世界ですね。
WPFなプログラミングメモ。
TreeViewItemの見た目を変えるためにControlTemplateに挑戦しているんですが、
全力パニック状態で半分投げ出し中。
整理もかねてメモ書き。
MSDNを覗いた限りだと、以下のものが必要な予感。
・ツリーを折りたたんだりするボタン(ToggleButton等)
・Headerを表示するためのContentPresenter(ContentSource=Header)
・子ツリーを表示するためのItemsPresenter
ItreViewItemのHasItemやIsSelectedなどをTriggerやMultiTriggerを駆使してやる必要があるみたいな?
子ツリーの折りたたみはItemsPresenterのVisibilityをCollapsedにすることでやっているみたいな?
調べること、覚えること、試すことが多くてかなりゲンナリ…。
面倒だわぁ…orz
TreeViewItemの見た目を変えるためにControlTemplateに挑戦しているんですが、
全力パニック状態で半分投げ出し中。
整理もかねてメモ書き。
MSDNを覗いた限りだと、以下のものが必要な予感。
・ツリーを折りたたんだりするボタン(ToggleButton等)
・Headerを表示するためのContentPresenter(ContentSource=Header)
・子ツリーを表示するためのItemsPresenter
ItreViewItemのHasItemやIsSelectedなどをTriggerやMultiTriggerを駆使してやる必要があるみたいな?
子ツリーの折りたたみはItemsPresenterのVisibilityをCollapsedにすることでやっているみたいな?
調べること、覚えること、試すことが多くてかなりゲンナリ…。
面倒だわぁ…orz
WPFメモ。
ItemsControl派生系(ListBox/ListView/TreeView)にバインディングした項目のコンテナアイテムを取得する方法。
要は、TreeViewならTreeViewItemをする方法。
→ ItemContainerGeneratorを使え。
ItemsControl.ItemsSourceにバインディングされた項目は、
内部でコントロール依存の特定のコンテナに包まれて出力されるようで、
TreeViewならTreeViewItemが自動生成され、項目とバインディングされている様子。
ItemsControl.ItemContainerGeneratorプロパティからインスタンスを取得して、
ContainerFromIndex()とかやるとインスタンスが取得出来る。
MenuやMenuItem、TreeViewやTreeViewItemなどの階層構造になっているものは、
それぞれがItemsControlから派生しているので、それぞれから取得するという感じになるようです。
…実はこれ、昔メモったやつなんだけど、
探し出すのに時間がかかったので復習もかねて再掲載。
メモページを別途分けて作った方がいいなぁとは思っているんですが。ねぇ。
ItemsControl派生系(ListBox/ListView/TreeView)にバインディングした項目のコンテナアイテムを取得する方法。
要は、TreeViewならTreeViewItemをする方法。
→ ItemContainerGeneratorを使え。
ItemsControl.ItemsSourceにバインディングされた項目は、
内部でコントロール依存の特定のコンテナに包まれて出力されるようで、
TreeViewならTreeViewItemが自動生成され、項目とバインディングされている様子。
ItemsControl.ItemContainerGeneratorプロパティからインスタンスを取得して、
ContainerFromIndex()とかやるとインスタンスが取得出来る。
MenuやMenuItem、TreeViewやTreeViewItemなどの階層構造になっているものは、
それぞれがItemsControlから派生しているので、それぞれから取得するという感じになるようです。
…実はこれ、昔メモったやつなんだけど、
探し出すのに時間がかかったので復習もかねて再掲載。
メモページを別途分けて作った方がいいなぁとは思っているんですが。ねぇ。
前に日記でも書いた気がしたんですが、
WPFのMediaPlayerクラスやMediaElementは内部でWindows Media Player(WMP)を使っているのか、
再生許可した拡張子じゃないと再生出来ないんですよね。
WMPのレジストリエントリ付近にそれっぽい登録エントリがあるので、
それを改変すればWPFでも好き勝手に再生出来るはず。
そこでAPIをフックしちゃえばいいんじゃね?って思ったんですが、
.NETでやれる物なのか、それ以前にWPFの中のMILCore.dllを頼りに探すの面倒と思ってやめました。orz
今年リリース予定の.NET3.5 SP1ではWPFにいろいろ機能追加されると聞きます。
この辺もどうにかなればいいなぁ…。
WPFのMediaPlayerクラスやMediaElementは内部でWindows Media Player(WMP)を使っているのか、
再生許可した拡張子じゃないと再生出来ないんですよね。
WMPのレジストリエントリ付近にそれっぽい登録エントリがあるので、
それを改変すればWPFでも好き勝手に再生出来るはず。
そこでAPIをフックしちゃえばいいんじゃね?って思ったんですが、
.NETでやれる物なのか、それ以前にWPFの中のMILCore.dllを頼りに探すの面倒と思ってやめました。orz
今年リリース予定の.NET3.5 SP1ではWPFにいろいろ機能追加されると聞きます。
この辺もどうにかなればいいなぁ…。
Utilities
- タグ
- カレンダー
- 最近の更新
- Adsense