WPFの初歩の初歩 うつせみ(虚蝉).

Slides:



Advertisements
Similar presentations
XML ゼミ 独習 XML ~ 第 6 章 XHTML~ 6.1 XHTML の概要 6.2 XHTML の構造 谷津 哲平.
Advertisements

Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
コンピュータ基礎実習 ( 上級 ) 第九回 スタイルシート 清水淳紀. はじめに  今回の内容  スタイルシート (CSS) とは何か  CSS の役割  CSS の利点  スタイルシートの基本  CSS の記入方法  基本的な CSS の例.
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
初年次セミナー 第13回 2次元グラフィックス(1).
WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World
視覚表現--CSSでwebページを自由にデザイン
情報処理 第8回.
技術トピックス 2014/10.
Flex “30分でわかるFlex”.
HTML 5の表現力 楽しいアプリ制作の会 TWorks 蜜葉.
情報処理 第7回.
第12回(1月13日) 文書処理 久野禎子.
Imageの描画 画像を読み込んで表示すること。 import java.awt.*;が必要。
ウェブページ制作の基礎 タグの直接入力によるウェブページの制作 次のスライドへ進んだり,戻ったりしたい時は,右下のボタンをクリック。 次へ.
MajorなMeasure 囚人.
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
GUIコンポーネントの設定と配置 Creation and positioning of GUI components
C#によるWindowsFormApplication入門
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
第1回 HTML5入門.
MISAO with WPF JZ5 2008/6/7.
e ポートフォリオ(Mahara)の使い方
MISAO with WPF JZ5 2009/2/7.
MISAO with WPF JZ5 2009/2/7.
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
プログラミング演習3 第4回 ミニプロジェクト.
RAD Studio 14/09/27 TEffectを使った綺麗なForm
Expression Blend 4 で デザインする Silverlight 4 アプリケーション
MSBuild 色々出来るよ 2011/04/02 お だ.
WebDesigner StartGUide
SGMLについて 2年8組  原口 文晃.
XSL-FO + MathML MathML表示、PDF生成、SVG生成
オープンソースソフトウェア osCommerceにおけるデザイン変更
基礎プログラミング演習 第1回.
プログラミング演習3 第2回 GUIの復習.
基礎プログラミング演習 第10回.
BindingからMVVMパターンまで うつせみ(虚蝉).
Excel 2002,2003基本14 テンプレートを作る.
情報処理 第8回.
フォームのデザイン Labelコントロール変更点 (name): labelDate Font Size: 18pt
WPF、MVVMパターン構成.
WPFの初歩の初歩 うつせみ(虚蝉).
情報スキル活用 第7週 制作技術-1 情報の記述と画面のデザイン.
プログラミング演習3 第2回 GUIの復習.
T2V技術 Web製作ラボ 5/9, 2012 hayashiLabo 11.
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
BindingからMVVMパターンまで うつせみ(虚蝉).
ゲーム開発モデルの基礎.
Minoのブロック配置のデータ構造 K.Yonezawa.
MISAO with WPF JZ5 2008/6/7.
Pattern Library Project
HP作成 そろそろまとめ編 担当:TAの人.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
Smart Graphic Layout トピック ステートメント 赤色の背景に画像を含む SmartArt グラフィック (中級)
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
独習XML ~第1章 XMLの基礎~ 1.1 XML文書の基礎 1.2 XMLとHTML
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
Javaを用いたシューティングゲーム作成
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
情報スキル活用 第6週 制作技術-1 情報の記述と画面のデザイン.
6.ユーザ定義型.
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

WPFの初歩の初歩 うつせみ(虚蝉)

本日のお品書き

XAMLって? (Extensible Application Markup Language) XMLをベースとしたマークアップ言語 デザインとロジックが分離 デザイナとコーダーの分業が可能に

どちらも同じものです。(Button) 簡単になりましたよね? XAML C# XAMLを見てみよう <Button Name=“btnA”   Content=“ボタン”   Width=“200”   Height=“25” /> Button btnA = new Button(); btnA.Content = "Click!"; btnA.Width = 200; btnA.Height = 25; this.Content = btnA;

Windowコントロール アプリケーションのクライアントウィンドウを提供するホストコントロール ウィンドウコントロール Windowコントロール アプリケーションのクライアントウィンドウを提供するホストコントロール Pageコントロール IEでも表示可能で、ページナビゲーションが可能なコンテンツを表示するためのコンテナ NavigationWindow ブラウザのような機能を持ったクライアントウィンドウを提供

パネルとは ボタンやグラフィックス要素の コンポーネントを配置するためのベース パネル名 説明 Canvas シンプルなレイアウト、明示的に配置できる領域を定義 Grid 行、列からなる柔軟なグリッド領域 DockPanel 子要素を水平、垂直に並べられる領域 StackPanel() 子要素を水平、垂直に直列に並べる WrapPanel 子要素を水平に並べ、ボックスの終端で折り返す

Canvasの原点からの相対座標を使って配置 もっともシンプルなレイアウトを実現 Canvasの原点からの相対座標を使って配置 サンプルソース <Canvas> <Button Width="200"          Height="25”          Content="Click”          Canvas.Left="20”          Canvas.Top="20"/> </Canvas>

何行、何列を指定する (RowDefinitions , ColumnDefinitions) Grid Grid内に子要素を配置する 何行、何列を指定する (RowDefinitions , ColumnDefinitions) サンプルソース(2行1列) <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="2*"/> </Grid.RowDefinitions> <Button Width="200" Height="25" Content="Click" Grid.Row="1“ /> </Grid>

DockPanelの子要素は親DockPanelの端にくっつきます(ドッキング) 注意点:空きスペースに子要素を詰めていく。 サンプルソース(子要素にTextBlockを追加) <DockPanel> <Button Height="25" DockPanel.Dock="Top"/> <TextBlock Text="TextBlock"/> </DockPanel>

子要素を縦、もしくは横に順に並べる StackPanel サンプルソース(子要素にTextBlockを追加) <Button Width=“200” Height="25"/> </StackPanel>

テキストエディタ等で折り返すようなイメージ WrapPanel 子要素が端に達すると折り返す。 テキストエディタ等で折り返すようなイメージ サンプルソース <WrapPanel> <Button Width=“200” Height="25"/> </WrapPanel>

Width, Height →幅、高さを指定(説明不要な気が…) レイアウトに使用する主なプロパティ Width, Height →幅、高さを指定(説明不要な気が…) Alignment(HorizontalAlignment(水平), VerticalAlignment(垂直)) →親要素のどこに配置するか Margin(Margin”左,上,右, 下”, Margin=“10”) →要素の外側の余白を指定 Padding →要素の内側の余白を指定 等々。。。

TextBox, TextBlock, Label, PasswordBox RickTextBox コントロール ほんの一部だけご紹介 Button TextBox, TextBlock, Label, PasswordBox RickTextBox RadioButton, CheckBox, ComboBox ListBox Expander, TreeView Menu,TaskBar

定義された要素等を格納するオブジェクト →「リソースディクショナリ」 定義する際には… →通常は「x:key」を使って設定 リソース(Resources)-1 定義された要素等を共有、再利用する 定義された要素等を格納するオブジェクト →「リソースディクショナリ」 定義する際には… →通常は「x:key」を使って設定 シンプルですが、かなり便利で強力

リソース(Resources)-2 サンプルソース <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Demo"> <Window.Resources> <SolidColorBrush x:Key="blueBrush" Color="Blue"/> </Window.Resources> <StackPanel> <Label Content="ラベル~" Foreground="Blue"/> <Label Content="ラベル~" Foreground="{StaticResource blueBrush}"/> <Button Content="ボタン~" Foreground="{StaticResource blueBrush}"/> </StackPanel> </Window>

ターゲット要素を指定してプロパティを設定 使用するとコードの可読性が上がり、メンテしやすくなる。 大量にコントロールがあると威力を発揮。 スタイル(Style)ー1 ターゲット要素を指定してプロパティを設定 使用するとコードの可読性が上がり、メンテしやすくなる。 大量にコントロールがあると威力を発揮。

スタイル(Style)ー2 サンプルソース1(リソースを使用せず) サンプルソース2(リソースを使用) <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Demo" Width="600" Height="250"> <StackPanel> <TextBlock Margin="30" HorizontalAlignment="Center" FontSize="30"> <TextBlock.Foreground> <LinearGradientBrush StartPoint="0,0" EndPoint="0, 2"> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.0" Color="Orange"/> <GradientStop Offset="2.0" Color="Yellow"/> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </TextBlock.Foreground> スタイルはどうでしょ? </TextBlock> <TextBlock Margin="30" HorizontalAlignment="Center" FontSize="40"> </StackPanel> </Window> サンプルソース2(リソースを使用) <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Demo" Width="600" Height="250"> <Window.Resources> <Style TargetType="TextBlock"> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="Foreground"> <Setter.Value> <LinearGradientBrush StartPoint="0, 0" EndPoint="0, 2"> <LinearGradientBrush.GradientStops> <GradientStop Offset="0.0" Color="Orange"/> <GradientStop Offset="2.0" Color="Red"/> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Setter.Value> </Setter> </Style> </Window.Resources> <StackPanel> <TextBlock Margin="30" FontSize="30"> スタイルはどうでしょ? </TextBlock> <TextBlock Margin="30" FontSize="40"> </StackPanel> </Window> スタイル(Style)ー2

スタイルとは違い「見え方」自体を変えます。 例えば… ボタンを丸や四角にしちゃう オリジナルのリストボックスを作る コントロールテンプレート スタイルとは違い「見え方」自体を変えます。 例えば… ボタンを丸や四角にしちゃう オリジナルのリストボックスを作る (ソースは割愛)

多少は使ってみようかな?と思っていただけたでしょうか。 終わりに。。。 多少は使ってみようかな?と思っていただけたでしょうか。

ちなみに正規の締め切りが過ぎていますので、 虚蝉宛までご連絡を^^; ちょっとだけ頼まれたので 来る12/02(火)にマイクロソフト福岡支社(中洲川端駅辺り)で【Tech Fielders セミナー 福岡】が開催されます。ふるってご参加ください。 で。。。そこでLTが開催されるのですが スピーカー大募集 ちなみに正規の締め切りが過ぎていますので、 虚蝉宛までご連絡を^^;