rksoftware

Visual Studio とか C# とかが好きです

UWP

C# で作れるアプリ(デスクトップ)

作れるアプリ C# では多彩な形式のアプリが作れます。ほぼ JavaScript が支配的な実行環境となる Web フロントエンドを除いてほぼなんでも作れます。Web フロントエンドについては Web Assembly という技術であれば C# でも作れますが、まだ仕事は少ないのが…

UWP で コードを書き換えた後、緑右三角でデバッグする

UWP のプロジェクトを新規に作成した状態で、Visual Studio のいつもの緑右三角でデバッグしようとしても実行されません。また、一度実行できてもコードを書き換えて緑右三角でデバッグしようとしてもコードを書き換える前の以前の状態で実行されます。 ■ 構…

UWP で XAML で ViewModel を指定する

UWP で XAML で ViewModel を指定する際に WPF とほんの少し違ったので。 ■ WPF の場合 ViewModel のクラスが名前空間 WpfApp1.ViewModels に MainPageViewModel として作っているとします。その場合 XAML で Window の属性に xmlns:vm="clr-namespace:WpfAp…

Uno Platform を始めよう

Uno Platform は UWP の XAML でモバイルを含めたクロスプラットフォームができる開発環境で、最近 .NET のクライアント側の界隈で大きな注目を得ています。 今まで、私も含めてあまり注目してこなかったのはカナダの nventive 社が作っているもので MS のプ…

Microsoft Learn でクライアントアプリや Web アプリを学べそうなもの

(2019/03/30 時点です) コンテンツは日々増えているようなので、これを読んでいるときには状況も変化しているかもしれません。 ■ Microsoft Learn オンラインでマイクロソフトのプロダクトを無料で学べます。 2019/03/30 時点で 360 の学習内容があります。…

XAML Islands の MediaPlayerElement 使用時に動画の再生が始まらない (WinForms)

Windows フォームアプリケーションで XAML Islands の MediaPlayerElement を使用している場合に、AutoPlay プロパティを True に設定していても動画の再生が始まらないことがありました。 ■ 原因? MediaPlayerElement の AutoPlay プロパティのプロパティ …

XAML Islands の MapControl 使用時に InvalidComObjectException 例外 (WinForms)

Windows フォームアプリケーションで XAML Islands の MapControl を使用している場合に、 System.Runtime.InteropServices.InvalidComObjectException 基になる RCW から分割された COM オブジェクトを使うことはできません。 という例外が発生することがあ…

XAML Islands の Windows Community Toolkit でラップされたコントロール (WinForms編)

XAML Islands についての公式ドキュメントの ラップされたコントロール というセクションで 6 つのコントロールが挙げられています。 ラップされたコントロール WebView WebViewCompatible InkCanvas InkToolbar MediaPlayerElement MapControl これらのコン…

XAML Islands の Windows Community Toolkit でラップされたコントロール (WPF編)

XAML Islands についての公式ドキュメントの ラップされたコントロール というセクションで 6 つのコントロールが挙げられています。 ラップされたコントロール WebView WebViewCompatible InkCanvas InkToolbar MediaPlayerElement MapControl これらのコン…

XAML Islands でコントロールを一通り表示してみる

XAML Islands で全ての UWP コントロールは使えなさそうな雰囲気だったので、Windows.UI.Xaml.Controls 名前空間のそれらしいクラスを画面に配置してみました。 UWP のコントロールは 100 以上あるらしく全ては把握押していないので画面に配置してエラーにな…

XAML Islands で InitializeForCurrentThread メソッドが必要なパターン

以前に XAML Islands で UWP のコントロールを生成する場合、その前に global::Windows.UI.Xaml.Hosting.WindowsXamlManager.InitializeForCurrentThread(); の一文が必要らしいけれど、実際書かなくても大丈夫だったと書きました。 今回この一文を書く必要…

WPF や Windows フォームアプリケーションで最新機能に対応する XAML Islands (目次)

Windows 10 October Update (Version 1809) で XAML Islands という機能が使えるようになりました。Windows 10 の UI コントロール (UWP のコントロール) が WPF や Windows Forms アプリケーションで使える夢の機能です。 詳細は公式ドキュメントへ XAML Is…

WPF でUWP の ProgressRing を表示する

以前、WPF で ProgressRing を表示する記事を書きました。 WPF に ProgressRing がないのでライブラリを導入する記事でした。 そして、UWP で ProgressRing を表示する記事も書きました。 UWP には ProgressRing があるのでただ表示するだけという記事でした…

UWP で ProgressRing

以前に UWP で ProgressBar で処理中を表現する記事を書きました。 しかし、モバイルOSの世界では一般的に Ring 表現ですし、Webサイトでも Ring 表現が多くなっています。 という感じに最近はやりの ProgressRing ですが実は UWP の標準コントロールにもあ…

UWP で進捗バーを表示する

UWP

UWP で進捗状況を表示したい場合、ProgressBar といコントロールが用意されています。 まず最初にコードを書いて動かしてみます。 ■ コード ・XAML <Page x:Class="App.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> </page>

UWP で SQL Server と直接接続し DataTable で値を扱う

UWP

.NET Standard 2.0 では SQL Server と直接接続し、DataTable で値を扱えます。 これは、.NET Core と .NET Framework のどちらでも使えるライブラリで扱える、というところまでは便利になったなという感覚です。 しかし .NET Standard 2.0 はそれだけでは収…

XAML Standard は今?

Build 2017 で発表されひっそりと(いくつかの意味で)話題となった XAML Standard。 エンタープライズ分野でのモバイル開発の敷居がほんの少しだけ低くなる可能性もないでもないと期待していないこともなかった XAML Standard。 その XAML Standard の今を…

Windows Mixed Reality アプリ開発入門を読みました

Windows Mixed Reality アプリ開発入門 を読みました。 発行日 2018年6月4日 となっており、瞬間で読んだ感じになっていますが、5日前に入手しているので、それほど早いということもないでしょう。 ※それでも積読の順序を飛ばして最優先で読んだわけですが。…

Xamarin.Forms で Surface Dial を試してみました

Surface Dial を購入したので試しに Xamarin.Forms の UWP アプリコードを書いてみました。 他のプラットフォームでは、Dial は使えなかったので UWP プロジェクトのみです。 ■ Surface Dial とは Dial というだけあって回せます。回せるばかりでなく、上か…

Surface Dial を試してみました

Surface Dial を購入したので試しに UWP のコードを書いてみました。 ■ Surface Dial とは Dial というだけあって回せます。回せるばかりでなく、上から押しこんでクリックすることまでできてしまいます。 さらになんと押し込みは長押しもできます。ただ長押…