shuhelohelo’s blog

Xamarin.Forms多めです.

2019-11-01から1ヶ月間の記事一覧

XAMLからクラスのStaticプロパティにアクセスする方法

docs.microsoft.com マークアップ拡張のx:staticを使うとクラスのStaticプロパティにアクセスできる. 例えば,こんなクラスを定義しておく. public class SharedSources2 { public static string MyTestProperty2 => "Hello World"; } そして,XAML側では最上…

Xamlで名前空間を追加する方法

プロジェクト内の任意の名前空間をXamlで参照するには以下のようにする. xmlns:models="clr-namespace:XFDesignTimeData.Models" xmlns:{名前}="clr-namespace:{プロジェクト内の任意の名前空間}"

ASP.NET MVCでAjaxでPOST

環境 ASP.NET(Framework) .NET Framework 4.6.1 動いたコードを残す. 配列をPOSTして,同じ配列を受け取る. Controller public class ProductsController : Controller { [HttpPost] public ActionResult GetProduct(string[] names) { return Json(names); }…

Windowsのタスクトレイ常駐型アプリを作る

ambilykk.com 環境 Windows10 1908 .NET Core 3.1 preview 3 ウィンドウを表示させない 常駐型アプリの体裁としてウィンドウを表示させないということは大事なことです. コンソールアプリの場合 ソリューションエクスプローラで右クリックしてコンテキストメ…

プログラムからキー入力を行う

こちらを参考にした. whoopsidaisies.hatenablog.com 事前準備 SendKeysを試すためにMicrosoft.VisualBasicアセンブリを使うので追加しておく.SendKeysを使うこと自体には関係ない. ソリューションエクスプローラで,プロジェクトの「References」を右クリック…

XamarinでCommandにパラメータを渡す

複数のボタンを同じCommandにバインディングし,どのボタンが押されたのかをパラメータで区別したいときがある. その場合はコマンドにCommand型のインスタンスを以下のようにして渡す. public ICommand SendMessageCommand { get; } public MainPageViewModel…

SignalRを使って拡張機能経由でWebページを操作する

以前に記事を書いたリアルタイムチャットアプリ shuhelohelo.hatenablog.com と, Chrome拡張機能とサーバーをSignalRを使って接続する, shuhelohelo.hatenablog.com の2つを使って,チャットアプリから送ったメッセージを拡張機能で受け取って,ウェブページの…

Chrome拡張 : Content ScriptからSignalRを使ってサーバーに接続

前回まででContent ScriptでjQueryを使えるようにした. shuhelohelo.hatenablog.com 今回はContent ScriptからSignalRを使えるようにする. SignalRのJavaScriptライブラリを取得 JavaScriptのSignalRはnpmで取得できる. www.npmjs.com npmを使うためにnode.j…

Chrome拡張 : Content ScriptでjQueryを使う.

前回はContent Scriptの作り方について書いた. shuhelohelo.hatenablog.com Content Scriptから表示中のウェブページのDOMを操作できるが,素のJavaScriptだと少し効率が良くないこともある. そこで,今回はContent ScriptでjQueryを使う手順を書く. jQueryの…

Chrome拡張 : Content Scriptの作り方.

拡張機能から表示中のウェブページに対して操作を行いたい場合,content scriptを使う. content scriptからであればウェブページのDOMの編集を行える. 今回はシンプルに表示中のウェブページの''要素内に'Hello World'を追加するだけのシンプルなものを作る. …

Firefoxアドオンを自分で公開(self hosted)する方法[引越記事]

<2018年一人なんでもアドベントカレンダー1日目> はじめに Firefoxの拡張機能を公開したい場合、ストアに申請して公開するのが通常の方法ですが、公開条件を満たす必要があります。 例えば、社内用アプリケーションを使って社員のみが使うような拡張機能の…

ブラウザ拡張機能におけるメッセージパッシング[引越記事]

はじめに ChromeやFirefoxで採用されているWebExtensionsによる拡張機能の開発を前提に話をします。 拡張機能の作り方は思ったより簡単ですし、ストアへの公開時の審査も厳しくないので敷居は低く、でも自分や他人の役に立ちやすいので、おすすめの開発だと…

ASP.NET Coreの認証フレームワークIdentityを使う

youtu.be 環境 Visual Strudio 16.4 preview5 ASP.NET Core 3.1 preview EntityFrameworkCoreのインストール NugetからMicrosoft.EntityFrameworkCoreをインストールする. 使用するDBに応じてパッケージをインストールする 今回はSQLServerを使うので,Micros…

Visual Studioの生産性を上げるTips

Visual Studioには生産性を上げる様々な機能,がある. それをまとめる. Visual Studioを使った生産性の向上のTips まずはこちらの動画から. これは.NET Conf 2019のセッションで,Visual Studio 2019の生産性を向上のための機能について紹介されている. スピー…

Jabra Elite 65tをWindows10でペアリング

Windowsとさっとペアリングできるととても便利なので,手順をメモしておく. kogaranozakki.net 環境 Windows 10 1903 Jabra Elite 65t 手順 Jabra Elite 65tの電源を落とす. 右ボタン長押し. Jabra Elite 65tをBluetooth接続モードにする.右ボタン長押し.接続…

jQueryでテーブル生成

codeforfun.jp とてもわかりやすい。 メモ jQuery UIというものがあることを初めて知った。 tbody要素に対してsortable()とすると行をドラッグ・アンド・ドロップで入れ替えられるようになる。 たった、これだけで。 テーブルの生成 それはそれとして、ボタ…

Application Insightsを使ったアプリケーション監視

WebアプリやWeb API, サーバーレスアーキテクチャなどの利用状況,状態を知るのは重要. どれだけリクエストが来ていて,サーバーのCPU使用率がいくつで,どれだけ失敗しているかなど,データをとって分析して改善,改良する. そのためのサービスがAzureに用意され…

ASP.NET Coreのバインディングソース属性について

https://docs.microsoft.com/ja-jp/aspnet/core/web-api/?view=aspnetcore-3.0 アクションメソッドのパラメーターにFromBodyやFromQueryなどつけることがある。 これはバインディングソース属性という。 アクションメソッドのパラメーターは推論規則によって…

DbContext内のすべてのDbSetに一括でDeleteBehaviorを設定する

youtu.be ASP.NET Core Tutorialの動画のCascade Deleteの回の最後で紹介されてた. OnModelCreatingメソッド内でDbContextの外部キーを収集し,それらのDeleteBehaviorを設定する. protected override void OnModelCreating(ModelBuilder modelBuilder) { bas…

EF CoreでモデルファーストでDBを扱う手順

www.entityframeworktutorial.net Entity Framework Core : DbContext DbContextはDBとのやりとりを担う. DBのエンティティのインスタンスを取得,保存するためのもの. DbContextはUnit Of WorkとRepository Patternの考えを組み合わせたもの. EF CoreのDbCon…

ASP.NET CoreにおけるUserSecretを使用した設定情報の保存

docs.microsoft.com 以下の動画42分ぐらい。 https://youtu.be/pLiS7932LLo 環境変数 すべての構成ソースの構成値を上書きします. 例えば,規定のデータベース接続文字列はappsettings.jsonファイルにDefaultConnectionというキーで記述されている. 規定の接…

ASP.NET CoreのIdentityのパスワード設定規則をカスタマイズする

Identityのパスワード設定規則はデフォルトでは以下のようになっている。 長さ6文字以上 少なくとも1文字はユニーク(パスワードの中に1つしか含まれていない)な文字(つまり、全部同じ文字はだめ) 英数字以外の文字を少なくとも1文字 小文字が少なくとも1…

ASP.NET Core以外でUserSecretsを利用する

tech-blog.cloud-config.jp ↑こちらの記事がとてもわかり易いです. ソース管理サービスを利用した場合に,ワールドワイドに公開してしまう可能性があり,クラウドサービスの接続情報などをそのまま書いていると危険. なので,このような機密情報はソース管理,つ…

ASP.NET CoreにおけるEF Coreの準備

Modelを作成する public class Student { public int StudentId { get; set; } public string Name { get; set; } [Required] public int CourseId { get; set; } public Course Course { get; set; }//ナビゲーションプロパティ } public class Course { pu…

Entity Framework CoreでカラムにUnique制約をつける

stackoverflow.com 属性でつけることはできないけれど,FluentAPIでつけることができる. DbContextクラスのOnModelCreatingメソッド内で以下のようにする. protected override void OnModelCreating(ModelBuilder builder) { builder.Entity<Member>() .HasIndex(m =></member>…

VSCodeでフォントを変更する

環境 Windows10 Visual Studio Code 1.39.2 フォント名を確認する フォント名を確認するためには,タスクバーの検索欄で「font」または「フォント」と入力し,Best match!な「Font settings」をクリックします. お望みのフォントをフォント名で検索します. 今回は「源…

PowerShell Core 7 previewで「Unable to modify the shortcut」というエラーがでる場合の回避方法

環境 PowerShell 7 Core preview4 状況 PowerShell 7 CoreはExplorerのコンテキストメニューに「ここで開く」を追加できるので便利ですが,スタートメニューや検索から起動させてプロパティからフォントの変更などをした場合に,以下のようなエラーメッセージが…

別のDBへのテーブルのコピー

rshibato.hatenablog.com データをまるっとコピーする方法 STEP2:コピー先にテーブルを作る。 CREATE table db2name.tbl2name LIKE db1name.tbl1name; STEP3:コピー先に情報を挿入する。 INSERT into db2name.tbl2name SELECT * from db1name.tbl1name; デ…

Visual Studioで.gitignoreを設定する

環境 Visual Studio 2019 16.4 preview1 設定方法 Visual StudioでTeam Explorerタブを開きます. Settingを選択し,次にGlobal SettingsかRepository Settingsを選択します.「全てのリポジトリに適用」するか「このリポジトリだけに適用」するかの違いです. リポ…

マーカーインターフェースと拡張メソッド

C#

拡張メソッドを生やすときに,生やせるクラスに制限を設けるための「空のインターフェース」. 目印の役割を果たす. つまり,言い換えると拡張メソッドをはやしたいクラスに継承させておけば,よい. class Program { static void Main(string[] args) { Console.Wr…