.NETラボ 勉強会 2015年04月の資料です。 Windowsフォーム開発に慣れきっている人がWPF開発に移行したときに、仕様の違いによりハマりやすい点を実体験も含めてお話しさせていただきました。 こちらのサイトで元のPPTXファイルをダウンロードしていただけます。 http://sonic.blue/it/129
![XAML入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/adf17aaf72a7153ab86fbcb47f6ac0b7eaf89147/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F20170128xaml-170129041044-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ICommandとはなにか ICommandの概要 void Execute(object parameter) bool CanExecute(object parameter) event EventHandler CanExecuteChanged; RelayCommand・DelegateCommandとはなにか DelegateCommandの簡単な利用方法 ICommandとはなにか XAMLで発生した何らかの操作に基づき、処理を実行する「コマンド」を表します。 例えば、ButtonのCommandプロパティにICommandの実態をバインドすることで、ボタンをクリックされた際に処理を実行する事が出来ます。 メソッドと何が違うの?というと、以下の点が異なります。 処理の実行可否を状態として持つ事ができ、また状態の変更を通知できる 標準の仕組みではXAMLからメソッドの呼び出し
UWPアプリとかストアアプリって普通はWindow.Current.ContentはFrameになるのが一般的です。 ただ、SplitViewを使ったアプリとかは、SplitViewの右側にFrameを置いて、Window.Current.ContentにはMainPageを置くということをやったりします。自分で作ってるアプリだとApp.xaml.csで色々出来るのですが、Prismを使った場合はPrismApplicationクラスが起動シーケンスを制御するので、好きにはできません。 一応PrismApplicationにはCreateShellというWindow.Current.Contentに設定するものを作るためのメソッドが用意されてるので、それを使えば出来ます。 <Page x:Class="App15.Views.MainPage" xmlns="http://schemas.
Windows 10 のパーソナル設定ではアクセントカラーを選択した着せ替えが行えます どうせなら UWP のアプリの中でもユーザーが選んだアクセントカラーを使いたいと思い試してみました ※ 実装コードの全体は下記にアップしています 書いたのは次のような XAML <Page x:Class="UWPOsColorSample.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:UWPOsColorSample" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:
UWP appでは、従来のデータバインディングに加えてコンパイル時データバインディングというものが追加されています。コンパイル時データバインディングは、名前の通り従来は実行時にやっていた色々な処理をコンパイル時に行ってしまうというものです。これにより、データバインディングを多用するアプリ(XAML系アプリケーションの場合は大体そうですよね)での性能向上が見込めます。 シンプルなデータバインド コンパイル時データバインディングを使う上で大きく異なる点が2つあります。 1つ目が、マークアップ拡張が{Binding ...}ではなく{x:Bind ...}というものを使うという点です。2つ目がPathの起点となるのが従来のデータバインディングではDataContextプロパティだったのが、コンパイル時データバインディングではPageを起点とする点です。 実際にやってみたいと思います。Simple
TechCrunch の RSS リーダーですが、iOS で起動すると・・・ 配色やばい・・・ということでちゃんと Andorid & Windows Phone の暗色テーマと iOS 用の明色テーマを明示的に指定するようにしたいと思います 以前プラットフォームごとにリソースを定義する方法を下記の記事にしましたが、今回は用途を絞り込めるのでもっとかんたんにやってみたいと思います まずは Xamarin.Forms 共有プロジェクト側に Themes フォルダを追加し、LightThemeResources と DarkThemeResources という名前で Forms Xaml Page を追加します XAML 側は ContentPage を ContentView に変更してこんな感じに記述 <?xml version="1.0" encoding="utf-8" ?> <Con
最近、xamlの赤ペン先生をやっています。 Adobe illustratorしか触ったことがなくて、プログラミングアレルギーなデザイナーさん相手に。 イラレなので、インタラクティブ性のない平面やさんなのですが、一ヶ月でここまでできるようになりました。 やり方としては、C#どころかXAMLすら見せない、いつものやりかた。 1.Blendの基本操作をオフラインで1日みっちり教える。 2.あとはOnlineでやりとりして、Gridデザインで組まれているWebページを模倣させる宿題を出す。 3.わからなかったら、スクリーンショット貼っつけて、fbで聞いてもらう。 4.ある程度できたら、プロジェクトファイル送ってもらってフィードバックする。 2.3.4を繰り返す。 ちょっと前からやっているのだけど、GridデザインなWebページは割りと模倣しやすい反面、微妙にxamlだとちょっとひねらないといけな
こんにちは。エクセルソフトの田淵です。 最近 Xamarin.Forms の ListView についてひいひい言って調べましたので共有したいと思います。Binding の書き方などでお役に立てれば嬉しいです。 ListView について Working with ListView - Xamarin や Xamarin.FormsでListViewのコンテキストアクションを使用するには? - Build Insider などをご参照いただくと良いかと思います。 基本的な流れとしては、ListView の ItemsSource に string[], List<T> などを指定して、DataTemplate に TextCell, ImageCell と、自由にレイアウト出来る CustomCell (ViewCell) を指定して、各要素を Binding していくことになります。 B
元ネタ めとべや東京 #7で登壇してきましたその1 ストアアプリでListViewに左右のスワイプ処理を追加する - shinji-japanのブログ 面白い内容です。読んでて記事内容で疑問点がいくつか出てきました。 なぜItemTemplate内のBorderの横幅と縦幅を明示してるのか スワイプされた要素はどうやって特定するのか MVVMちっくに書きたい なぜItemTemplate内のBorderの横幅と縦幅を明示してるのか これはおそらくイベントを拾うため。ItemContainerStyleでHorizontalContentAlignmentとVerticalContentAlignmentをStretchにしてやることで、ItemTemplateの中身がいっぱいにひろがって明示的にサイズを指定しなくても、イベントが拾えるようになりました。 具体的にはItemContainer
以下の3つのMVVMライブラリと Livet MVVM Light toolkit Prism ReactiveProperty(v2系使ってます)のサンプルをコードレシピに書きました。どれも、ほぼ同じ挙動をするサンプルなので比較用にでもどうぞ。 所感としては、WPFならLivetが一番機能が豊富で次点でPrismで一番機能が少ないのがMVVM Light toolkitです。対応プラットフォームが多いのは、MVVM Light toolkit、Prism、Livetの順番です。 機能特化か、汎用をとるかケースバイケースで自分にあったものを選ぶのがいいと思います。
最新版は以下のページになります。 MVVMとリアクティブプログラミングを支援するライブラリ「ReactiveProperty v2.0」オーバービュー - かずきのBlog@hatena ReactivePropertyとは Reactive ExtensionsをベースとしたMVVMパターンのアプリケーションの作成をサポートするためのライブラリです。特徴としては、Reactive Extensionsをベースとしているため、全てをIObservableをベースとして捉えて、V, VM, Mすべてのレイヤをシームレスにつなぐことが可能な点です。 サポートしているプラットフォーム 現時点の最新版(1.2.0)で以下のプラットフォームをサポートしてます。 WPF(.NET4, .NET4.5) Windows store app 8, 8.1 Windows Phone 8, 8.1 Univ
めとべや東京 #7で登壇してきました。 AeroPrismの機能の一部を実際にライブコーディングで実装してみようといった内容でしたが、 発表後に「ライブコーディングの内容全部覚えてられない」等の声をいただきましたのでじわじわとブログにまとめていきたいと思います。 ストアアプリのTwitterクライアントAeroPrismではツイートを右にスワイプするとリプライ、左にスワイプすると会話のスレッド表示ができます。 この機能を実装してみましょう。 まずはXAML 1.ListViewItemの中にControl(ここではBorder)を配置 2.配置したControlにManipulationDeltaイベントを追加 3.ManipulationModeにはカンマ区切りでTranslateXとSystemを指定 <Page x:Class="App25.MainPage" xmlns="http
A few years ago, I wrote an article that showed how to display an animated GIF in WPF. The article included the full code, and was quite successful, since WPF had no built-in support for animated GIFs. Based on the issues reported in the comments, I made many edits to the code in the article. At some point I realized it was very impractical, so I published the code on CodePlex (it has now moved to
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く