Enviar pesquisa
Carregar
Uwpでみるxaml入門
•
Transferir como PPTX, PDF
•
2 gostaram
•
2,661 visualizações
Makoto Nishimura
Seguir
2016年7月の.NETラボ勉強会スライド
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 45
Baixar agora
Recomendados
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
zaru sakuraba
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Hiroaki Okubo
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
Seiko Kuchida
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
Yasunobu Ikeda
THE BEM: Better Css Naming Conventions
THE BEM: Better Css Naming Conventions
Kotaro Kawashima
mrubyで作るマイコンボード
mrubyで作るマイコンボード
kishima7
Knockout を用いた大規模 JavaScript 開発
Knockout を用いた大規模 JavaScript 開発
Kentaro Iizuka
Recomendados
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
WebAssembly と Rust の入口の向かいにある道路のベンチに腰掛けるレベルのさわってみた感想を共有
zaru sakuraba
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
Takumi Ohashi
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
Hiroaki Okubo
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
Seiko Kuchida
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
Yasunobu Ikeda
THE BEM: Better Css Naming Conventions
THE BEM: Better Css Naming Conventions
Kotaro Kawashima
mrubyで作るマイコンボード
mrubyで作るマイコンボード
kishima7
Knockout を用いた大規模 JavaScript 開発
Knockout を用いた大規模 JavaScript 開発
Kentaro Iizuka
かずきのUWP入門
かずきのUWP入門
一希 大田
XAML入門
XAML入門
一希 大田
Uwpでみるxaml入門第二回
Uwpでみるxaml入門第二回
Makoto Nishimura
独自Ecサイト立ち上げワンストップセミナー 0907
独自Ecサイト立ち上げワンストップセミナー 0907
Makoto Nishimura
これからはじめる XAML - WPF プログラミング
これからはじめる XAML - WPF プログラミング
インフラジスティックス・ジャパン株式会社
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
Makoto Nishimura
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
Makoto Nishimura
はじめての UWP アプリ開発
はじめての UWP アプリ開発
hiyohiyo
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
Makoto Nishimura
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
忠利 花崎
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(発表版)
Makoto Nishimura
リモートで技術を伝える方法(フル)
リモートで技術を伝える方法(フル)
Makoto Nishimura
windows terminal入門
windows terminal入門
Makoto Nishimura
Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?
Makoto Nishimura
Power Automateを使ってみた
Power Automateを使ってみた
Makoto Nishimura
Power Automate Desktop入門
Power Automate Desktop入門
Makoto Nishimura
Microsoft Teams Custom
Microsoft Teams Custom
Makoto Nishimura
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
Makoto Nishimura
AzureDevOpsの機能解説
AzureDevOpsの機能解説
Makoto Nishimura
EC-CUBE 4 入門
EC-CUBE 4 入門
Makoto Nishimura
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOps
Makoto Nishimura
Mais conteúdo relacionado
Destaque
かずきのUWP入門
かずきのUWP入門
一希 大田
XAML入門
XAML入門
一希 大田
Uwpでみるxaml入門第二回
Uwpでみるxaml入門第二回
Makoto Nishimura
独自Ecサイト立ち上げワンストップセミナー 0907
独自Ecサイト立ち上げワンストップセミナー 0907
Makoto Nishimura
これからはじめる XAML - WPF プログラミング
これからはじめる XAML - WPF プログラミング
インフラジスティックス・ジャパン株式会社
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
Makoto Nishimura
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
Makoto Nishimura
はじめての UWP アプリ開発
はじめての UWP アプリ開発
hiyohiyo
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
Makoto Nishimura
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
忠利 花崎
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
Destaque
(11)
かずきのUWP入門
かずきのUWP入門
XAML入門
XAML入門
Uwpでみるxaml入門第二回
Uwpでみるxaml入門第二回
独自Ecサイト立ち上げワンストップセミナー 0907
独自Ecサイト立ち上げワンストップセミナー 0907
これからはじめる XAML - WPF プログラミング
これからはじめる XAML - WPF プログラミング
Azure上でec cubeを運用するポイント
Azure上でec cubeを運用するポイント
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
2016年11月.NETラボLT:超余談ゲームプラットフォームの話
はじめての UWP アプリ開発
はじめての UWP アプリ開発
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
しごとで使うTitanium 第2版
しごとで使うTitanium 第2版
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Mais de Makoto Nishimura
リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(発表版)
Makoto Nishimura
リモートで技術を伝える方法(フル)
リモートで技術を伝える方法(フル)
Makoto Nishimura
windows terminal入門
windows terminal入門
Makoto Nishimura
Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?
Makoto Nishimura
Power Automateを使ってみた
Power Automateを使ってみた
Makoto Nishimura
Power Automate Desktop入門
Power Automate Desktop入門
Makoto Nishimura
Microsoft Teams Custom
Microsoft Teams Custom
Makoto Nishimura
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
Makoto Nishimura
AzureDevOpsの機能解説
AzureDevOpsの機能解説
Makoto Nishimura
EC-CUBE 4 入門
EC-CUBE 4 入門
Makoto Nishimura
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOps
Makoto Nishimura
.NETの最近
.NETの最近
Makoto Nishimura
Amazon echoがやってきた
Amazon echoがやってきた
Makoto Nishimura
2017年度注目の.netテクノロジー
2017年度注目の.netテクノロジー
Makoto Nishimura
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
Makoto Nishimura
初心者目線でIo t
初心者目線でIo t
Makoto Nishimura
Universal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえよう
Makoto Nishimura
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
Makoto Nishimura
Uwpハンズオン参加レポート
Uwpハンズオン参加レポート
Makoto Nishimura
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
Makoto Nishimura
Mais de Makoto Nishimura
(20)
リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(発表版)
リモートで技術を伝える方法(フル)
リモートで技術を伝える方法(フル)
windows terminal入門
windows terminal入門
Minecraftでプログラミングを学べるって本当?
Minecraftでプログラミングを学べるって本当?
Power Automateを使ってみた
Power Automateを使ってみた
Power Automate Desktop入門
Power Automate Desktop入門
Microsoft Teams Custom
Microsoft Teams Custom
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
AzureDevOpsの機能解説
AzureDevOpsの機能解説
EC-CUBE 4 入門
EC-CUBE 4 入門
OSS開発で.NETを活用してDevOps
OSS開発で.NETを活用してDevOps
.NETの最近
.NETの最近
Amazon echoがやってきた
Amazon echoがやってきた
2017年度注目の.netテクノロジー
2017年度注目の.netテクノロジー
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
初心者目線でIo t
初心者目線でIo t
Universal windows platformの新機能をおさえよう
Universal windows platformの新機能をおさえよう
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
Uwpハンズオン参加レポート
Uwpハンズオン参加レポート
Aspnet mvc 6の今を紹介
Aspnet mvc 6の今を紹介
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Último
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Uwpでみるxaml入門
1.
2.
3.
4.
5.
ちょっとだけ、昔話 アプリケーションの画面は どうやって定義していましたか?
6.
色々あって 最近はあまり使われなくなりましたが Webで動きのある画面を作ろうと思えば、 Flashで、という時代がありました。
7.
いや・・・言いたいことは色々ありますが、 画面定義の話に戻りましょう。
8.
タイムラインという フレーム毎に画面を定義していました。 動画編集の考え方に近いアプローチ
9.
当時のFlashは アニメーション作成用途が強かったので、 アニメーションを作成しやすい方法。
10.
画面定義をテキストで表現できなかったので、 差分が取れない。 ・・・バイナリを解析できれば差分も・・・
11.
余談:AS2時代は それぞれのオブジェクトに スクリプトを記述できたので、 作り方によっては更にカオスなことに・・・
12.
その後、AS3や、 Adobe Flexの登場で この辺が変化していくのですが、 ひとまず置いておいて・・・
13.
this.textBox1 = new
System.Windows.Forms.TextBox(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(33, 109); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23);
14.
プログラムコードを 解析してデザイナーに表示。 メリット:差分が見れる デメリット:コードからデザインは把握し辛い・・・
15.
ご存知、XMLタグで画面を定義する方法。 XAMLもこの発想。 Flashにもmxmlというのがあった・・・ メリット:差分が取れる :プログラミングの知識無しに扱える デメリット:アニメーションなど複雑なものは 定義できない。
16.
デメリットと書いたが、 アニメーションなどを定義できないことで、 逆にシンプルで良い気がする。 デザイナーにもプログラマーにも触れるという ラインのバラスを上手く取っている?
17.
XAML登場!! スライド15枚めにして (Zガンダムよりは早い当社比) XMLで画面を定義する方式。 アニメーションや、 コントロールの雛形も定義可能 この辺は良し悪し
18.
タグで定義できるという点では HTMLに近いが、 どちらかというとWindows Formsの コード→デザイナ を発展させた コード→XAML→デザイナ という構造(後述)。
19.
デザイナーとプログラマーの 分業が成立する前提で見るか? デザイナーが主に使うのか? プログラマーが主に使うのか?
20.
分業できていることが多いのはHTML デザイナーメインなFlashタイムライン プログラマーメインなWindows Forms
21.
22.
eXtensible Application Markup
Language Application? Avalon?
23.
<Button /> <Button></Button>
24.
<ButtonText=“プロパティ”/>
25.
<Button>ボタン</Button> <ButtonText=“ボタン” /> コレはイコール。 じゃあ入れ子にした部分は、Textプロパティに該当?
26.
<Button><Image src=“hoge.jpg”></Button> これは? 入れ子の部分はContentPropertyとして 扱われる
27.
// Buttonの親クラスの記述 [Composable(typeof(IContentControlFactory), CompositionT [ContentProperty(Name
= "Content")] [MarshalingBehavior(MarshalingType.Agile)] // Objectを受け入れる。結構広い間口 public System.Object Content { get; set; }
28.
<Image Source="Assets/LockScreenLogo.png"/> これUri型なのに、文字列で指定できるの? 型コンバーターという仕組みが、 いい感じに変換してくれる。
29.
XAMLを拡張する記法 基本的に{}に囲まれたやつ Text="{x:BindViewModel.Name, Mode=TwoWay}"
30.
XAMLを拡張する記法 基本的に{}に囲まれたやつ Text="{x:BindViewModel.Name, Mode=TwoWay}“ プラットフォーム毎に異なる仕様だが、 基本的に同じ機能があることが多い。 上のx:BindはUWPから追加されたもの。
31.
画面を定義するXAMLには コードビハインドとしてロジックを記述するための プログラムファイルがある。 例:MainPage.xamlとMainPage.xaml.cs コードビハインドの中間 MainPage.g.cs MainPage.g.i.cs
32.
XAMLが元々、プログラムコードを、 見た目(XAML)とロジック(プログラムコード) に分離するためのものであるため、 プログラムの画面を定義する部分を、 XML形式で表現できるようにしたもの。 この辺がHTMLとの大きな違い。
33.
<ButtonText= “hoge”/> 以下は等価 Button btn
= new Button(); btn.Content = "hoge"; mainGrid.Children.Add(btn);
34.
XAML自体は、こんな感じで、 シンプル。 XAMLを使って コントロール、アニメーション、3D…など 様々なものを表現するので複雑に見える。
35.
36.
プロパティで変えれるパターン テンプレート、スタイルで変えるパターン (こっちがちょっとわかりづらい) ListViewの場合 ListView自体のテンプレート ListViewで繰り返し表示されるデータのテンプレート
37.
リスト表示されるアイテムのテンプレートListView自体のテンプレート
38.
ボタンの場合 →テンプレートの編集
39.
イベントハンドラー XAMLからコードビハインドのメソッドを呼び出す
40.
プログラミングのプロパティと XAMLのプロパティを紐付ける 疎結合 This.textbox.text = “ほげ”; が不要になる。 XAMLのプロパティ同士も紐付けれる
41.
デザインに必要なら、 条件分岐のような判定もできるようにする。 <VisualState.StateTriggers> <AdaptiveTrigger MinWindowWidth="720" /> </VisualState.StateTriggers>
42.
アニメーションもXAMLで定義可能 編集はタイムライン方式(Adobe Flashもそう) アニメーションもXAMLで表現
43.
・・・まぁ、読むのも難しいし、手打ちだと書けないよね・・・ <Storyboard x:Name="Storyboard1"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransf <EasingDoubleKeyFrame
KeyTime="0"Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:1"Value="208"/> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransf <EasingDoubleKeyFrame KeyTime="0"Value="0"/> <EasingDoubleKeyFrame KeyTime="0:0:1"Value="-156"/> </DoubleAnimationUsingKeyFrames> </Storyboard>
44.
45.
色々なことができるマークアップ これまでのUI表現の歴史をうまく取り込んでいる
Baixar agora