SourceChord

C#とXAML好きなプログラマの備忘録。最近はWPF系の話題が中心です。

UWPのImageスケーリング方法~NineGrid~

WinRTのImageコントロールにはこんなプロパティあるんですね。
NineGridというプロパティがあってこんなことができるみたいです。
https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.ui.xaml.controls.image.ninegrid.aspx

Win8からあったみたいですが一応φ(..)メモメモ


Web系の開発経験ある人には馴染みのある画像のスケーリング方法だと思いますが、
こんな風に画像を3×3の9分割して、以下のように四隅のサイズを固定してスケーリングする方法です。
cssとかの界隈では9パッチとか9スライスって呼ばれてるものですね。

用意した画像

f:id:minami_SC:20150909004911p:plain

スケーリング結果

f:id:minami_SC:20150909004918p:plain

        <Image  Height="100" Width="300"
               Stretch="Fill"
               NineGrid="30,30,30,30"
               Source="Images/1.png"/>

こうすることで、画像で枠を付けたりボタンのデザインをする場合などにイイ感じに拡大できる、という寸法です。

続きを読む

UWPのアイコン表示用のクラス

UWPでは、アイコン表示に便利な以下の4つのXAMLの要素があります。
これはUWPで追加になった要素ではなく、Win8系のストアアプリからあったものです。
ですが、UWPアプリ開発ではあちこちで使いそうなので、WPFからの移行組として、改めてざっと触ってみようと思います。

続きを読む

SplitViewを使ってみる

Win10のUWPではあちこちで使うことになりそうなコントロール。SplitViewを使ってみます。
これは、横からニョキっと出てくるメニューみたいなのを作るときに使うコントロールです。

標準のアプリでもこういうメニューがあちこちで使われてますね。
f:id:minami_SC:20150902005740p:plain:w200

続きを読む

WPFにもx:Bind欲しいよね

UWPで追加されたx:Bind。とても便利ですね。
で、この機能WPFにも欲しい!!と思ったりするわけです。

VisualStudioへの要望などを投票する、↓のサイトを見てみると、WPFにx:Bind追加してほしいって要望にたくさんの投票が集まってます。

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/7810488-implement-x-bind-for-wpf


WPFにもx:Bind欲しいって方は、ここで投票しておくとよいかもです。

UWPで追加されたバインディングの新機能~x:Bindマークアップ拡張~

UWPではコンパイル時にバインディングを行うx:Bindマークアップ拡張という機能が加えられました。
今までのBindingマークアップ拡張よりもパフォーマンスが良かったり、コンパイル時の型チェックができたり、と色々メリットがあります。
(ダックタイプ的なバインディングができなくなるので、コンパイル時の型チェックについては若干デメリットともいえる部分もあるかもしれませんが。)

参考資料

MVAの動画&スライド

UWPの各種バインディングについては、
以下のスライドに一度目を通しておくとよいかと思います。

↓のページの「04 | XAML Data binding」のスライド
http://www.microsoftvirtualacademy.com/training-courses/a-developers-guide-to-windows-10?prid=mvp-5001048

続きを読む