XAML
日本語情報だとひらりんさんのブログにまとまってます! himanago.hatenablog.com 私がはまったのは、iziToast というライブラリでトースト出そうとして function showToast(text) { iziToast.show({ title: 'Info', message: text }); } という関数を JS に…
iOS エミュレーターで動かすとノッチに食い込むテキストやボタンに悩まされる今日この頃。Uno Platform で対応する場合には Uno.UI.Toolkit.VisibleBoundsPadding クラスの PaddingMask プロパティでセーフエリアに入るように Padding を自動で調整すること…
デザイナーがエラーになるだけならいいんですが、たまにデザイナー自体無いケースがあります。 上の画像では UWP プロジェクトを選択している状態で MainPage.xaml を開いているのにデザイナーが出ません。 一度ファイルを閉じて UWP プロジェクトをビルドし…
UWP Community Toolkitが、ちょっと目をはなしてる隙に1.4.1にまでバージョンアップしてました。 色々なコントロールとかが提供されているのですが、ListViewに絡むコントロールをいくつか紹介したいと思います。 インクリメンタルローディング 最近のアプリ…
メール削除とかしたけど、一定時間取返しがきくみたいなUIがありますよね。 あぁいうのどうやるんだろうというのを考えてみました。 UWPでやってみますが、WPFでもXamarin.Formsでも基本的に同じ感じになると思います。見た目凝るのが一番難しそう。 Modelの…
そういう動きをするビヘイビアを作ればOKです。こんな感じで。 public class ViewModelCleanupBehavior : Behavior<Window> { protected override void OnAttached() { base.OnAttached(); this.AssociatedObject.Closed += this.WindowClosed; } private void Windo</window>…
Xamarin.Formsで思い通りのレイアウトを組みたい。 そんな時には、レイアウト系のコントロールを押さえておくといいです。 公式ドキュメント Layouts - Xamarin Layoutコントロール Xamarin.Formsでは、複数のコントロールを配置するときには、あらかじめ定…
なんて訳すんでしょうね。バインディングパス内関数とか? アニバーサリーアップデートと共に降ってきたBuild 14393のSDKですが、こいつをMin versionに設定したプロジェクトでのみコンパイル時データバインディングの新機能が有効になります。つまりアニバ…
ついに来ましたアニバーサリーアップデート!!目玉はなんといっても定規ですよね!! そんな定規を簡単にアプリに組み込むことができるInkToolbarというコントロールがあります。使い方は簡単です。InkCanvasとセットで画面において、TargetInkCanvasプロパ…
昔書いた記事にコメントがついたので改めてやってみました。 blog.okazuki.jp 最近はGitHubがあるのでコードを共有するのが楽でいいですね。 こんなクラスを用意してやります。BehaviorをCloneして追加してやる感じです。Cloneして渡さないと同じBehaviorの…
1つ前でVMでやるのがおすすめですよって書いたけどどうやるの?っていう記事です。 blog.okazuki.jp 今回はReactivePropertyの組み込みのエラーチェック機能を使ってやってみます。まず。intしか受け付けないValidationAttributeを作ります。 using System.C…
WPFでint型をバインドしたTextBoxとかって入力エラーがあると赤色枠がついていい感じにしてくれますよね。ただしViewModelからは、そのエラーは検知できない。 でも、ボタンは押せないようにしたい。そんなときは、こんなXAMLで実現できます。
doc.co 資料を公開しておきます。今回からSlideShareじゃなくてdocs.comにしてみました。 Modelをしっかり作ろうぜ!っていうことでちょびっと話してきました。 試行錯誤した結果なので、これが正しいかはわからないですが…。まぁ一例ということで。
こういうの悩みますよね。例えば以下のようなViewModelがあるとします。こいつのAlertCommandに選択項目を渡したいというケースです。 using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Linq; u…
Buttonに文字を設定するのにTextじゃないということ。 Contentプロパティに設定しないといけないというやつですね。 ふむふむ、コンテンツね…って覚えたらTextBlockはTextプロパティなのかよ!という理不尽な扱いを受けてしまいます。 これの見分け方なんで…
SlideShareで無料で公開してるPDFをKindleで1205円で公開を始めました。 www.amazon.co.jp Kindleでどうしても読みたいという方や、これくらいなら払ってやってもいいかという人はぽちってくれると純粋に私が喜びます。 SlideShareのほうは、引き続き公開し…
www.amazon.co.jp 目次はこんな感じ。細かいテクノロジについて解説はしてないけど、アプリの作り方の参考になればと思います。 2. 本書について 1 2.1. 対象プラットフォーム 1 2.2. コードを打ち込むうえでのTips 1 3. Universal Windows Platformとは 1 3…
UWP appでは、従来のデータバインディングに加えてコンパイル時データバインディングというものが追加されています。コンパイル時データバインディングは、名前の通り従来は実行時にやっていた色々な処理をコンパイル時に行ってしまうというものです。これに…
Windows 10 TPのUniversal application platformでのAppService - かずきのBlog@hatenaokazuki.hatenablog.com 上記はInsider Preview時代の記事ですが作り方は試してみたところ変わっていませんでした。Package.appxmanifestがGUIで作れるようになってたの…
ということをしたいというケースがありました。 やり方としては、ItemsSourceがINotifyCollectionChangedだったら追加されたCollectionChangedを購読して追加された要素に対してScrollIntoViewしてやるだけです。 とりあえず、こういうBehaviorを作ってListV…
電話のときはAppBarを出して、PCのときは出したくない!そんなときもあるでしょう。 ということでやり方です。 AnalyticsInfo.VersionInfo.DeviceFamilyでデバイスファミリーが取得できます。この値が"Windows.Mobile"のときはモバイルで動いてるということ…
Prismの中でうごめいているUniversal Windows Platform app対応版Prismについてちょっとリポジトリをのぞいてみました。基本的に、Prism for Windows Runtimeの流れを汲む感じで、使い方に差は無さそうです。 大きな変更点 一番大きな変更点は、MvvmAppBase…
こんな感じのUserControlを用意します。
XAML使ってWidthのアニメーションをしようとDoubleAnimation使ったら動かない!!という問題にぶちあたりました。解決策は、DoubleAnimationのEnableDependentAnimationをTrueにするということ。メモメモ。
フォームはラベルの配置場所で使いやすさが全然変わる!ユーザーが利用しやすいフォームを徹底考察coliss.com こういうフォームって実現大変そう?WinFormsだと死にますね。WPFとかだとテンプレートをいじればOK。 こういう添付プロパティと public class In…
Windows Insider Preview 10074 + VS2015 RC時点の情報です PageのTopAppBarプロパティやBottomAppBarプロパティに置くのがセオリーなCommandBarですが、こいつは任意の場所に置くことができます。意味があるかはわかりませんが以下のようにListViewの要素に…
Windows 10 Insider Preview 10074 + VS2015 RC時点の情報です PageクラスのBottomAppBarやTopAppBarプロパティに設定できるCommandBarですが、こいつは単純にPrimaryCommandプロパティやSecondaryCommandプロパティだけでなくContentプロパティも持っていて…
Windows Insider Preview 10071 + VS2015 RC時点の情報です 悪夢のようなレスポンシブ対応。UWP appでは色々な画面サイズに対応するのが望ましいです。UWP appのレスポンシブ対応ですが大きく分けて2つのポイントがあると思います。 SplitViewの表示切替 コ…
開いてるか閉じてるかでVisualStateを切り替えれることで実現できます。VisualStateの切り替え自体は、Behaviorを使って簡単に実現できます。ということでやってみましょう。
なんか、Windows 10 TPのアプリってこんなのが多い雰囲気です。 ある程度幅があると左にメニューがあって。 幅を狭めるとひっこむ。んでクリックすると出てくる。 似た雰囲気のを作ってみました。