読者です 読者をやめる 読者になる 読者になる

みかづきメモ

学習したことのメモとか、日記とか、備忘録。

C#

UWP アプリから、ストアアプリのレビュー画面を開きたい

アプリの設定とかから、「気に入ったらレビューしてね!」みたいなのを追加したかった。 以下のようにすることで起動できます。 await Launcher.LaunchUriAsync(new Uri($"ms-windows-store:REVIEW?PFN={Package.Current.Id.FamilyName}")); ちなみに、 MSDN…

Wallpaper Engine の仕組みが気になったので

先日、 Twitter してたら面白そうなアプリのツイートが流れてきました。 Steamで販売している”WallpaperEngine”というデスクトップの画像を動画に変更できるアプリが面白い。設定も凄く簡単だし、最大化しているタブがある時は動画を停止してくれるのでCPUに…

PC の型番を取得したい

C#

PC の型番情報を取得したくなったので、取得してみました。 こういった情報は、 Windows Management Instrumentation を使えば取得できるようです。 ということで、早速取得してみます。 using (var mos = new ManagementObjectSearcher()) { mos.Query.Quer…

UWP で Entity Framework Core を使いたい

Entity Framework Core を使ったアプリを UWP で作ったので、 ライブラリとツールの使い方をメモしておきます。

EntityFramework で子の子を読み込みたい

リレーションが下のような感じの場合。 public class Anime { public int AnimeId { get; set; } public int Year { get; set; } public int Quarter { get; set; } public string Title { get; set; } public virtual ICollection<Episode> Episodes { get; set; } }</episode>…

LINQ to Entities での DateTime.Now

LINQ to Entities + SQLite で下のようなクエリを使うと、 // 今やるべき予定 var plans = context.Plans.Where(w => w.StartAt <= DateTime.Now && DateTime.Now <= w.EndAt); こんな SQL が発行されます。 SELECT [Project1].[C1] AS [C1], [Project1].[Pl…

UWP で ItemsControl.Items の変更を検知したい

WPF だと、 ItemsControl.Items は INotifyCollectionChanged を実装しているので、 いつもどおり検知できるのですが、 UWP だとなくてちょっと困ったのでメモ。

UWP でカスタム URI スキームに対応する

ストアアプリならば、 ms-windows-store://pdp/?ProductId=9WZDNCRFHVJL とすれば、 OneNote のアプリ詳細が開くように、自作のアプリでも対応したくありません? ということで、カスタム URI スキームに対応してみます。 ※なお、この記事は Prism の使用を…

CefSharp で HTTP(S) 通信の中身をみたい

前からちまちまいじってる CefSharp の続きです。 私は CefSharp.WPF 以外は触ってないので、一応それでの話ということで。

HTML テキストを WebBrowser ではなく RichTextBlock で表現したい

WebBrowser またはそれに近い何かを使えっていう話でもあるんですが、 以下の様な HTML ドキュメントを、 RichTextBlock で表現したいとします。 <p> こんにちは、私は <a href="http://www.softbank.jp/robot/support/">Pepper</a> です。 <br /> 今は<strong>誰でも</strong>購入可能です。 </p> それなりに誰かやってそうなことなので、 MSDN …

CefSharp.Wpf でもスクショしたい

Chromium Embedded Framework (CEF) を C# から使えるようにしたプロジェクトのうちの1つに、 CefSharp というものがあります。 WinForms, WPF, OffScreen 用にそれぞれパッケージが用意されており、 NuGet からも導入できます。 そのうち、 OffScreen には…

UWP の GridView でいい感じにコンテンツを配置したい

UWP の GridView でのお話。 いい感じってどんな感じっていう話なんだけれども、文字で書くとすれば、 「ウィンドウの幅によって、水平方向コンテンツ数と幅がちゃんと変わってくれる」 みたいな感じ。

ApiInformation.IsTypePresent に渡す値

前の記事にて、 ApiInformation.IsTypePresent に typeof で指定したのだけれども、 このようなツイートを見かけて心配になったので、試してみました。 あれ、IsTypePresentにtypeof().ToString()したら利用不可なとき死なない? — ゆたか (@tmyt) 2016年6月…

UWP で Windows Mobile 端末のステータスバーの高さを取得したい

UWP にて、 Windows Mobile 端末のステータスバーの高さを取得したい。 (下の画像赤で囲った部分)

Twitter アプリ (UWP) の プロフ画面っぽい UI を作りたい

UWP 版 Twitter 公式アプリの UI、個人的にはかなり参考になるのですが、 ところどころ謎な部分がありました。 その1つに、プロフィール画面があります。 これ、上の Pivot 以外が全部1つのスクロールになっていて、 どうやっているんだろうと思ったらでき…

Pivot も INavigationService で画面遷移したい!

「ストア」アプリなどで使われている Pivot 。 「ストア」アプリなどの挙動をよく見ると、 Pivot の Content の部分だけが遷移しています。 ということで、そこも Prism の INavigationService で遷移させてみました。

UWP アプリから、他の UWP アプリを起動したい

こういうのを見かけたので。 フィードバックURIをハイパーリンク可能なTwitterクライアントがほしくなってくる— ぶりちゃん (崩壊) (@brichan_fiana) 2016年6月13日 URIスキーマ使ったらアプリ開けたりするのかな— Re:雪猫 (@snow_cait) 2016年6月13日 UWP …

リフレクションを使って、拡張メソッドを呼び出す

C#

リフレクションで通常のメソッドを呼び出す方法はよく解説されてるけども、 拡張メソッドを呼び出す方法はなかったので、メモメモ。

Visual Studio の拡張機能を作成する - 番外編 - ツールチップ

本筋からはちょっとズレますが、あると嬉しい機能である、ツールチップ表示を実装します。 画像のように、テキスト上にカーソルを持って行くと表示されるあれです。

Visual Studio の拡張機能を作成する - カスタムプロジェクト編

前回、シンタックスハイライトまで作成しました。 今回は、カスタムプロジェクトを作成してみようと思います。

Visual Studio の拡張機能を作成する - シンタックスハイライト編

ということで、続きです。 今回は、 *.hsp;*.as をシンタックスハイライトする機能を作成していきます。

Visual Studio の拡張機能を作成する - 言語サービスの提供編

前回の準備編の続きです。 今回は、言語サービスの拡張を作るための、ベース部分を作成していきます。

Visual Studio の拡張機能を作成する - 準備編

学校の後輩に Ruby を使わせることになったのですが、その後輩が 「Python は Visual Studio でできるのに、 Ruby はできないからやる気でない」と言い張るので、 新しく言語サービスを追加する Visual Studio 拡張を作成する方法を、資料として残しておきま…

WPF で従量制課金接続を検出する

なんとなく Outlook 2016 を使っていたら、 画像のように、従量制課金接続であることを検出して、自動でオフラインとなっていました。 他のアプリでも使えると、何かと便利そうなので、実装してみます。

UWP で タッチキーボードの上に要素を表示する

新しいノートパソコン超快適で幸せです。 UWP の入力フォームなどで、タッチキーボード*1を表示すると、隠れてしまう要素があります。 しかしながら、ガイドラインにもあるように、常に表示しておくのが良い要素もあります。 私が探した限りでは、標準で楽に…

UWP で「共有」画面を呼び出す

Windows PC が無事帰ってきたので、早速 UWP 開発を。 アプリ内データを、 Facebook やメールなどで共有するための画面を呼び出す方法です。

WebAuthenticationBroker で FileNotFoundException

UWP でアプリを作っている最中、ちょっと不思議な例外に遭遇しました。 通常の開発環境では出ることはないと思いますが、まぁこういうのもあるよということで、 その出現方法と、解決方法を書いておきます。

Xamarin.Forms の XAML リアルタイムプレビューの Gorilla Player を試してみた

Xamarin.Forms のリアルタイムプレビューができる Gorilla Player 。 その BETA アクセス権を得たので、使ってみた感想など書いておこうと。

Xamarin.Forms の ListView で、 iOS で表示される不要な枠線を消す

なんともタイトルだけだと、何が言いたいのかわかりづらいですが、 ListView を使った際、アイテム数が少ない場合は、下の方に空のセルが詰められます。 ↓こんな感じです(一番下が空のセル) 個人的に気持ち悪いので、これを消し去ります。

Xamarin.Forms で iOS/Android だけの UI

タイトルではちょっとわかりにくいかもですが、 Xamarin.Forms のいいところは、 iOS と Android で UI を共通化させることで、コードの記述量がへることです。 そういうことで、私も iOS と Android で共通の UI を使っているのですが、 iOS もしくは、 And…

Xamarin.Forms の ToolBarItems で左に置く

Xamarin.Forms にて、 ContentPage などにある ToolBarItems 。 これはツールバーに対して、アイテムを追加できるプロパティなのですが、 右側からしか配置されません。 公式フォーラムなどでもよく議論されているネタみたいなのですが、 サポートされていな…

Xamarin.Forms + Prism で ViewModel からダイアログを出す

Xamarin.Forms + Prism と言った感じで、 MVVM パターンでやってる際に、 ViewModel から、ダイアログを呼び出したい時があります。 その時のやり方みたいな。

Xamarin.Forms で ListView の DataTemplate を使う

Xamarin.Forms 、UI を共通化できるので便利ではあるのですが、 ところどころ、(少なくとも私にとっては)不可解な部分があるような気がします。 そのうちの一つの、 DataTemplate です。

Prism で NavigationService + SplitView

Prism を使っていて、画面遷移をする際に、ページ全体を遷移するんじゃなく、 SplitView の Content の部分だけ画面遷移させるにはどうするんだろう?ということで。 ちなみに、 Prism を使わず、コードビハインドに直接書いての方法は、サンプル集にありま…

ListView が空の時に、何かを表示する

先日、Twitterを眺めてたら、こんな記事が流れてきました。 qiita.com 少し前に、自分の作成している SNS クライアントでも同様のものを実装していたので、 軽く実装方法をメモっておきます。 もしかしたら、これよりもいい方法が在るかもしれません。

トースト通知のイベントを処理する

先日の記事の続きです。 今回は、実際に飛んできたイベントの処理をします。 ちなみに、先日の記事↓ mikazuki.hatenablog.jp

Windows 10 でトースト通知を飛ばす

通常設定だと右下あたりにぴょこっとでてくるトースト通知の呼び出し方。 デスクトップアプリからでも出来るみたいですが、ここでは UWP に絞って。

Xamarin.Forms で TabbedPage の子に NavigationPage を追加してみる

Xamarin.Forms(XAML) を使って、 NavigationPage + TabbedPage を作ってみます。 Twitter for iPhone や TweetBot みたいな感じの UI ですね。 ただ、 NavigationPage |- TabbedPage といった構成はよく見かけるものの、その逆は見かけません。 また、上のよ…

Xamarin.Forms + Prism で NavigationPage を使う

Xamarin.Forms の NavigationPage を、 Prism で良い感じに使ってみます。 NavigationPage ってなんぞや?というのはこれをみてね。 NavigationPage Class - Xamarin

Entity Framework で コード内から接続先やプロバイダを指定する

Entity Framework で、 C# コード内から、接続文字列や接続プロバイダを指定する方法。 まぁ app.config に connectionStrings を定義せずに接続するみたいな感じ。

WPFで、コンテンツエリアがいっぱいになった時にだけ ToolTip を表示する

WPF で例えば下みたいなとき <TextBlock Width="200" Text="very very very very very very very long text" TextTrimming="CharacterEllipsis" /> こんなかんじで、範囲を超えた分は「...」と表示されます。 そういった時だけ、 ToolTip を表示する方法です。</textblock>