Microsoft PowerPoint - Windows Presentation Foundation (WPF) 3.5 の新機能

Similar documents
XAML Do-It-Yourself シリーズ 第 12 回 3D グラフィックス -1-

WPF アプリケーションの 多言語切替

Visual Studio Do-It-Yourself 第 9 回ユーザーコントロール 第 6 回のリソースから第 8 回のテンプレートで さまざまな方法でコントロールをカスタマズできるこ とを学びました 今回のテーマであるユーザーコントロールは 既存の一つのコントロールをカスタマ ズするのではな

XAML Do-It-Yourself 第 3 回ベントとトリガー XML Do-It-Yourself 第 3 回目は ベント処理とトリガーについて学習します Windows フォームゕプリケーションでは たとえば ボタンが押された というベントに対応する処理 ( ベントハンドラー ) を記述する

WPF アプリケーションの 多言語切替

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

WPF Bindingの威力

untitled

Chart3D for WPF/Silverlight

マイクロソフト株式会社 デベロッパー & プラットフォーム統括本部 井上大輔 井上章


MVP for VB が語る C# 入門

Abstract Kinect for Windows RGB Kinect for Windows v Kinect for Windows v2

MISAO with WPF

Microsoft PowerPoint - hmoriya-REMIX2006-Print-New [互換モード]

わんくま同盟 大阪勉強会 #1

Visual Basic Oracle Database 11 Release 1

PowerPoint プレゼンテーション

DEMO1 まずはやってみよう アクティビティをダブルクリック 作成 - プロジェクト C# => Workflow CodeActivity をぽとぺ シーケンシャルと ステートマシン それぞれのコ ンソールアプリ あとライブラリがある びっくりマークは足りていないあかし プロパティをみると判別で

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

PowerPoint プレゼンテーション

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

WPFの初歩の初歩

Visual Studio 2005 Windows Mobile の 開 発 環 境 統 合 開 発 環 境 Visual Studio 2005 デスクトップと 共 通 化 された 開 発 環 境 デスクトップ 開 発 のノウハウがそのまま 利 用 可 能 高 い 開 発 生 産 性 Windo

新しいイテレーション型開発

XAML Do-It-Yourself シリーズ 第 8 回ゕニメーション -1-

HTTP 404 への対処

Sparkline for WPF

sp2-2.indd

スライド 1

51949O05.indd

51664O08.indd

XML Consortium 2009/5/8 XML Consortium Enterprise2.0 アプリを支えるクラウド基盤としての Windows Azure XML コンソーシアム Web 2.0 部会 日立ソフト宮崎昭世 Microsoft MVP for Development Pl

MISAO with WPF

IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 3 章 UWP アプリの開発 L

Javaプログラムの実行手順

~ ユーザーインターフェイスの自動テスト ~

TileView for WPF/Silverlight

XAML Do-It-Yourself シリーズ 第 1 回 XAML 概要 -1-

Agenda Windows 64-bit 概要マネージコード開発 ( 導入 ) マネージコード開発 ( 詳細 ) コーディング上の留意点まとめ

グラフィックス 目次

目次 はじめに... 3 システムの必要条件... 4 ライセンス認証... 4 アクティベーション... 6 開発... 7 手順 1. アプリケーションの作成... 7 手順 2. データソースの作成と代入... 7 手順 3. テンプレートの作成 手順 4. レポートビューアの追加

DockControl for WPF/Silverlight

Silk Central Connect 15.5 リリースノート

C#の基本

.NET_3.5 Technical Briefing ソースコード説明 担当者の Demo 実施時の環境 注意 Visual Studio 2008β2 日本語版および Microsoft Silverlight Tools Alpha for Visual Studio 2008 Beta 2

Carousel for WPF/Silverlight

Prog2_12th

WPF アプリケーションの 多言語切替

ウィンドウの構成ウィンドウはタイトルバーとウィンドウ枠からなります タイトルバーには最小化 / 最大化ボタンや閉じるボタンがあります また ウィンドウはクライアント領域をもちます クライアント領域にはボタンなど GUI 部品が配置されます GUI 部品配置 ( レイアウト ) ウィンドウ ( ステー

グラフィックス 目次

バージョン比較表 SPREAD for ASP.NET

OutlookBar for WPF/Silverlight

Microsoft PowerPoint - FormsUpgrade_Tune.ppt

PowerPoint プレゼンテーション

Embarcadero Developer Camp

XAML の勉強上要! WPF アプリケーションは作れます

Oracle JDeveloper 10g ADF Creation Date: Jul 07, 2004 Last Update: Jul 08, 2004 Version 1.0

子ボックスや孫ボックスなどに position: absolute; と指定すると それぞれ親ボックスに対する絶対位置で配置できるので親ボックスの上に複数の子ボックスや孫ボックスを重ねて配置することができます トランジションやアニメーションを作成するときに非常に便利なので覚えておきましょう top

グラフィックス 目次

プログラミング基礎I(再)

PowerPoint プレゼンテーション

Prog2_10th

Prog2_10th

SELECT Server XM (ver

Userコントロール

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

ProVisionaire Control V3.0セットアップガイド

Oracle Policy Automation 10.0システム要件

MVC4 Mobile Classic

Android から Windows Phone へ 10 の基本タスク 英語版公開日 : 2011 年 10 月 5 日 ( 水 ) 10:09:24 AM Windows Phone Interoperability サイトは さまざまなスマートフォンプラットフォーム向けにアプリケーションを開発

MicrosoftVisualStudio.NET による ASP.NETWeb アプリケーションの開発 (#2334)(MP301)5 日間 () コースの概要 このコースでは VisualBasic.NETまたは C# プログラマで Web 開発の初心者が ASP.NETを使用して Web アプ

10K pdf

C# の現在・過去・未来

intra-mart Accel Platform — イベントナビゲータ 開発ガイド   初版  

Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力

Microsoft PowerPoint ppt

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

デモで理解する Facebook アプリ開発のポイント シグマコンサルティング ( 株 ) 菅原英治

一般社団法人ビジネス機械・情報システム産業協会

最新 Visual Studio と DirectX 9.0 Ex で戦う 3D プログラミング

BarCode for WPF

V5.0 V4.2 から V5 への 変更点 1.1 版 2010 年 03 月 26 日

Ver.1.1

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

.NET Framework 4.0 世代の Expression Trees

HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu

C#の基本2 ~プログラムの制御構造~

グラフィックス 目次

スライド 1

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

Silverlight Day Breakout Session 3

ム コントロールの基礎と作り方』

プロセス間通信

システム要件 Trend Micro Safe Lock 2.0 SP1 Trend Micro Safe Lock 2.0 SP1 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Wind

PowerPoint プレゼンテーション

Transcription:

WPF 3.5 の新機能 川 裕幸 UX エバンジェリスト デベロッパー & プラットフォーム統括本部 マイクロソフト株式会社

WPF 3.5?.NET Framework 3.5 に含まれる WPF SP1 + 新しいアセンブリ (System.Core.dll など ) Linq は System.Core.dll に含まれる.NET Framework 3.0 SP1 に含まれる WPF Windows Server 2008 Windows Vista SP1 ただし Linq バインディングを使うときは注意 詳しくは Visual Studio 2008 ドキュメント バージョン情報を参照

互換性 WPF 3.0 でビルドしたアプリは WPF3.5 上 (ex. Vista SP1) で動作 WPF 3.5 でビルドしたアプリは WPF3.0 上では動作しない.NET Framework 3.5 のインストールが必要 新機能を使っていなければ動作するかもしれない... 新しいスキーマ http://schemas.microsoft.com/netfx/2007/xaml/presentation これまでのスキーマも有効

アプリケーションモデル XBAP Firefox HTTP Cookie 部分信頼 WCF サービス Add-In サポート dll を実 時に動的に統合できる

部分信頼 WCF サービス ASP.NET 中間アクセス権で動作するサーバーアプリで アプリで WCF Service Model を使って基本 HTTP サービスを作成インターネットゾーンアクセス権で動作するクライアントアプリ (ex. XBAP) は WCF プロキシ経由で HTTP サービスを利 部分信頼フルサポート BasicHttpBinding, WebHttpBinding トランスポートトセキュリティモードのみサポート WSHttpBinding 部分信頼 サポート NetTcpBinding, NetNamedPipeBinding, NetMsmgBinding

Add-In WPF は Add-In を使って UI を表 できる UI を返す Add-In ロードする条件によって変化する UI UI である Add-In 同じ UI を表 ex. カラーピッカー FrameworkElement を継承したクラス 順 Shape, Control, User Control, Panel パイプラインの作成契約の宣 Add-In は FrameworkElement を INativeHandleContract に変換して返す ( あるいは 分 を変換して渡す ) 返された ( あるいは渡された ) INativeHandleContract を FrameworkElement に変換ホストアプリは返された ( あるいは渡された ) FrameworkElement を表

データ ビジネスオブジェクト検証 IDataErrorInfo {Binding ValidatesOnDataErrors=true} Linq および Xlinq バインディングサポート Path=Element[content].Attribute[url].Value XML (DOM) バインディング性能改善 DataSet バインディング性能改善

データ デバッグの改善 バンディングトレース PresentationTraceSources.TraceLevel Low, Medium, High <Window x:class= SampleApplication.Window1 xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:x=http://schemas.microsoft.com/winfx/2006/xamlmicrosoft com/winfx/2006/xaml xmlns:diag= clr namespace:system.diagnostics;assembly=windowsbase > <Button Background= {Binding Path=ProductColor, diag:presentationtracesource.tracelevel=high /> ti T </Window> Binding の新しいプロパティ ValidatesOnExceptions ValidatesOnDataErrors

テキスト TextBox の IME サポート FrameworkTextComposition に新しいプロパティ CompositionOffset CompositionLenght ResultOffset ResultLength IME で 中 TextInput, TextInputUpdate, TextInputStart イベントが発 するととき TextCompositionEventArgs.TextComposition ta T として使 RichTextBoxの改善 UIElement がインラインで可能 カスタム TextElement が可能

サウンド 応答 再 の新しいクラス SoundPlayerAction <Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <Page.Triggers> <EventTrigger RoutedEvent="Button.Click" SourceName="clickButton"> <EventTrigger.Actions> <SoundPlayerAction Source="media lowbat.wav"/> </EventTrigger.Actions> </EventTrigger> <EventTrigger RoutedEvent="Button.MouseEnter" SourceName="hoverButton"> <EventTrigger.Actions> <SoundPlayerAction Source="media tada.wav"/> </EventTrigger.Actions> </EventTrigger> </Page.Triggers> <StackPanel Width="200"> <Button Name="clickButton">Click to Play Sound</Button> <Button Name="hoverButton">Hover " to Play Sound</Button> </StackPanel> </Page>

パフォーマンス レイヤーウィンドウのハードウェア化

パフォーマンス レイヤーウィンドウのハードウェア化 KB938660 でも解決

3D System.Windows.Media.Media3D.Visual3D System.Windows.Media3D.ModelVisual3D System.Windows.UIElemt3D UIElement3D( 仮想 ) System.Windows.Media.Media3D.ContainerUIElemt3D System.Windows.Media.Media3D.ModelUIElement3D System.Windows.Media3D.Viewport2DVisual3D ContainerUIElement3D, t3d ModelUIElement3D フォーカス イベントをサポートするModelVisual3D OnModelUpdate, d InvalidateModel d l メソッドを持つ Viewport2DVisual3D ( 機能する )Visual が張れるModelVisual3D 3D 上のインタラクティブな 2Dコンテンツ GeneralTransform3D( 仮想 ) 新しい座標変換クラス GeneralTransform3DTo2D, GeneralTransform2DTo3D

UIElement3D UIElement と同等のイベントハンドリング 交差テスト コードを書く必要はもうない 内部階層のルーティングイベントも処理 レイアウト機能はない

UIElement3D その 1 Handling Events in 3-D DS Sample <ModelUIElement3D MouseDown= Cube1MouseDown > <ModelUIElement3D.Transform> <TranslateTransform3D OffsetZ= 1.5 /> </ModelUIElement3D.Transform> <ModelUIElement3D.Model> <GeometryModel3D Geometry="{StaticResource CubeMesh}"> <GeometryModel3D.Material> Material> <DiffuseMaterial x:name= cube1material Brush= Blue /> </GeometryModel3D.Material> </GeometryModel3D> </ModelUIElement3D.Model> </ModelUIElement3D> private void Cube1MouseDown(object sender, MouseButtonEventArgs e) { cube1material.brush = (cube1material.brush == Brushes.Blue Bl? Brushes.Red : Brushes.Blue); Bl }

UIElement3D その 2 OnModelUpdate, d InvalidateModel d l メソッドにより データバインディングを使った通知が可能に プロパティ変更による 変更が可能な UIElement3D 派 クラスが作成できる <Slider Width= 300 Maximum= 60 Minimum= 60 Margin= 10 Value= {Binding ElementName=MyCylinder, Path=Angle} /> <Viewport3D Width= 480 Height= 400 Margin= 10 > <Viewport3D.Camera> <PerspectiveCamera Position= 0,3,10 FieldOfView= 45 /> </Viewport3D.Camera> <local:cylinder l li x:name= MyCylinder /> <ModelVisual3D> <ModelVisual3D.Content> <DirectionalLight Color= White Direction= 0,0, 1 /> 0 </ModelVisual3D.Content> </ModelVisual3D> </Viewport3D>

UIElement3D その 2 protected override void OnUpdateModel() { GeometryModel3D model = new GeometryModel3D(); model.geometry = Tessellate(Angle); model.material = new DiffuseMaterial(Brushes.Blue); Model = model; } public static readonly DependencyProperty AngleProperty = DependencyProperty.Register( Angle, typeof(double), typeof(cylinder), new PropertyMetadata(0.0, t t 0 AnglePropertyChanged)); private static void AnglePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { Cylinder s = (Cylinder)d; s.invalidatemodel(); } public double Angle { get {return (double)getvalue(angleproperty);} set {SetValue(AngleProperty, value);} }

Viewport2DVisual3D Viewport3D 内でも Visual が使える Binding が利 できる イベントハンドラとコールバックが利 できる ただし Preview イベントハンドラを使うこと

Viewport2DVisual3D <Viewport2DVisual3D x:name="mymodel1 Geometry="{StaticResource ti mysquare}" > <Viewport2DVisual3D.Transform> <RotateTransform3D> <RotateTransform3D.Rotation> <AxisAngleRotation3D Angle="-45" Axis="0 1 0" /> </RotateTransform3D.Rotation> </RotateTransform3D> </Viewport2DVisual3D.Transform> <Viewport2DVisual3D.Material> <DiffuseMaterial Brush="White" Viewport2DVisual3D.IsVisualHostMaterial="True"/> </Viewport2DVisual3D.Material> <StackPanel> <TextBox Name="myInput" Background="White" Width="100" Height="20"/> <TextBlock Name="myText" mytext Background="Red" Width="50" Height="50" Text="{Binding ElementName=myInput, Path=Text} /> <Button PreviewMouseLeftButtonDown="Button_MouseLeftButtonDown"> Change Color </Button> </StackPanel> </Viewport2DVisual3D>

GeneralTransform3D 3D 間 3D と 2D 間の座標変換 3Dジオメトリの点などを 2D 空間に座標変換したいとき便利 GeneralTransform3D Visual3D.TransformToAncestor(Visual3D) Visual3D.TransformToDescendant(Visual3D) GeneralTransform3DTo2D Visual3D.TransformToAncestor(Visual) GeneralTransform2DTo3D Visual.TransformToAncester(Visual3D) D e s c e n d a n t Canvas Viewport3D ModelVisual3D Parent ModelVisual3D Child A n c e s t o r

ご質問は?