タグ

ブックマーク / blog.okazuki.jp (10)

  • WPFで画像表示時にファイルをロックしないようにしたい - かずきのBlog@hatena

    ネタ元 ListBox にイメージをデータバインドした時に画像を削除する方法 確かにWPFでImageのSourceにstringをBindingしたときは、ファイルがしばらくロックされちゃって困ることがあります。これをロックされないようにするには、自前のコンバーターでファイルロックをしないようにする必要があります。 ロックされる版のアプリ 以下のようにピクチャーフォルダのjpgへのパスをDataContextにつっこみます。 using System; using System.IO; using System.Linq; using System.Windows; namespace ImageApp { /// <summary> /// MainWindow.xaml の相互作用ロジック /// </summary> public partial class MainWindow

    WPFで画像表示時にファイルをロックしないようにしたい - かずきのBlog@hatena
    s-kic
    s-kic 2017/03/22
  • SignalRの.NET Client - かずきのBlog@hatena

    ASP.NET SignalRが利用者は特に何も意識することなくリアルタイムにサーバーサイドからの通知を受け取ったりできる素敵な子だということは周知の事実です。 ASP.NET MVCと組み合わせて使ったり… ASP.NET MVC と SignalR を組み合わせて使う もちろん、JavaScriptから呼び出してリアルタイムに画面が更新されるWebアプリも… ASP.NET SignalRとknockout.jsで実現する次世代Webアプリ こんな素敵な技術を、Webアプリだけで使うなんてもったいない!!ということで、クライアントライブラリはJavaScript以外にも、.NET用にも提供されています。そう、コンソールアプリケーションやWPFアプリケーションやWinFormアプリケーションやWindows ストア アプリやSilverlightや、日で未発売のWindows Phon

    SignalRの.NET Client - かずきのBlog@hatena
    s-kic
    s-kic 2015/12/15
  • TypeScriptとd3.js - かずきのBlog@hatena

    グラフ描きたい・・・!Webで(詰んだ) HTML苦手 CSS苦手 JavaScript苦手 d3.js 苦手といっても何か使えるものはないか?ということで、探してみたのがd3.js。こいつjQueryみたいなセレクタで要素を選択したりもできるし、グラフ描いたりもできるとは…。素敵だ。 TypeScript 言わずと知れた、C#の父のアンダーズ・ヘルズバーグが開発してるaltJSシリーズの言語。こいつなら・・・!と思って以下のページを流し読みして書いてみたらとてもいい!なじむ! TypeScript クイックガイド - phyzkit.net module Hoge { export class Foo { constructor(public x: number, public y: number) {} hoge(callback: (result: number) => void):

    TypeScriptとd3.js - かずきのBlog@hatena
    s-kic
    s-kic 2014/03/10
  • Windows ストア アプリで重要な非同期プログラミング(C#)について復習 - かずきのBlog@hatena

    ここでは、C# 5.0で追加された非同期プログラミングのための構文について説明します。 非同期プログラミングの必要性 非同期プログラミングは、Windows ストア アプリでは重要な要素です。50ms以上かかる可能性のあるAPIのほとんどが非同期として提供されています。これは、時間のかかる処理を、同期的に呼び出した場合にアプリケーションの応答が、止まってしまうという問題を起こさないためです。時間のかかる処理を同期的に行った場合のイメージを以下に示します。 このような処理は、タブレットなどのタッチユーザーインターフェースではユーザーに非常にストレスになります。Windows ストア アプリでは避けるべき挙動になります。ここで、時間のかかる処理を非同期に行った場合のイメージを以下に示します。 このような処理を簡単に実装できるようにC#5.0から導入されたasync修飾子とawait演算子につい

    Windows ストア アプリで重要な非同期プログラミング(C#)について復習 - かずきのBlog@hatena
    s-kic
    s-kic 2013/08/21
    C# 5.0でのおはなし。
  • WinRTアプリケーションでSleepしたい - かずきのBlog@hatena

    的に、Sleepなんてすることはあまりないと思うのですが、ちょっとしたサンプルで重たい処理をエミュレートしようと思ってThread.Sleepを呼ぼうと思ったらThreadクラスがない!?古き良き?Threadクラスを使った並列処理なんてクレイジーどころか存在しないものになってしまったのですね。 ということで代替の方法です。同じことに困ってる先人はいるもので、下記のMSDNのフォーラムでそのまま質問があがってました。質問のほうでは、Timerも無いよ!?ということも聞いてるので見てみるといいかもしれません。 Timers or Sleep method equivalent Sleepしよう ということで数秒まって処理をするということをやってみたいと思います。使うメソッドはTaskクラスのDelayメソッドです。 画面にボタンを1つおいてボタンのクリックイベントハンドラと、重たい処理を

    WinRTアプリケーションでSleepしたい - かずきのBlog@hatena
    s-kic
    s-kic 2013/07/17
  • アプリケーションデータの保存場所について考える - かずきのBlog@hatena

    Win8RP + VS2012RC時点の情報ですここを見ながら整理整頓。 Metro スタイル アプリのデータの保存について少し考えてみました。まぁWindows Phone 7アプリでも同じようなことは考えないといけないのですが、ここらへんWindows Phoneアプリ開発のときにさぼってたので今考えます。 一時的に保持するデータとずっと保持するデータ 上記のページでは、ユーザーデータとセッションデータと言う表現を使ってましたが、ユーザーデータというのは、アプリケーションでず〜〜〜っと永続化しておきたいデータで、セッションデータが短期的に保持しておきたいデータっぽいですね。 そして方針としては以下のような方針で保存するのがよさそうです。 ユーザーデータ Windows.Storage.ApplicationData.Current.LocalSettingsで取得できるApplicat

    アプリケーションデータの保存場所について考える - かずきのBlog@hatena
  • Windows ストア アプリリソースやアプリデータ内のファイルを指定するのに使えるURL - かずきのBlog@hatena

    追記: ms-appdataについての記述が間違ってたので修正しました。はじまりは酢酸先生の一言でした。 あ、だれかWindowsストアアプリでアプリ内リソースのhtmlを表示させる方法知りませんか。NavigateToStringくらいしか思いつかなくって…… 2012-10-19 19:00:39 via OpenTween 試行錯誤して私は、以下のコードをためしてみたり色々してたら… // NG webView.Navigate(new Uri("ms-appx:///HTMLPage1.html")); // かったるい var file = await StorageFile.GetFileFromApplicationUriAsync( new Uri("ms-appx:///HTMLPage1.html")); using (var s = new StreamReader(

  • ちょっとした確認するためのフライアウト出すのがめんどくさい - かずきのBlog@hatena

    RC版の情報です。 部品化して公開しました 2012/08/15 追記 AppBarのボタンを押したときに確認用のフライアウトを出す部品作って放流してみた 以下古い情報 Metro Style App(コードネーム)で、AppBarのボタン押したときに、当にそれでいいの?って雰囲気のフライアウトを出すのがすごいめんどくさいことに気づきました。 ポップアップメニューとかは、若干めんどくさいながらもクラスがあります。そしてMessageDialogでダイアログも出せます。なので怠けようと思ったらDialogだしてしまえ〜って所なんですが、そんなんでユーザーの思考をぶったぎってしまうのはMetro Style App(コードネーム)的にはNGでしょう。 ということで!!まだ見た目イマイチだけど、これを微調整すればいけそうだというコードをさくっと書いたので晒しておきます。 AppBarにいっぱい

    ちょっとした確認するためのフライアウト出すのがめんどくさい - かずきのBlog@hatena
  • Windows ストアアプリでフライアウトを出すのは奥が深い - かずきのBlog@hatena

    ここではコードネームMetro スタイル アプリのことをWindows ストアアプリと記載してます。Windows ストアアプリでは、ユーザーの思考を中断しないためか旧来のデュンッ!という音と共に出てくるダイアログや、音はしないにしても、モーダルなダイアログは出さないのが理想的だと思っています。SkyDriveのアプリでも画像を消そうとしたときには、以下のようにモーダルなダイアログではなく、フライアウトと呼ばれるポップアップみたいなもので通知するようになっています。 フォルダの作成のような、ちょっとした文字列を入力するようなケースでもフライアウトは使われています。 まぁ出すだけならポップアップ使ってごにょごにょやればいいのですが、いかんせんソフトウェアキーボードが生えてきたときとか、それに合わせて表示位置調整とかしないといけなかったりするんですよね…。デスクトップで開発してる場合は見逃し

    Windows ストアアプリでフライアウトを出すのは奥が深い - かずきのBlog@hatena
  • Viausl Studio 2010で自作コードジェネレータ - かずきのBlog@hatena

    コードの自動生成は、色々なところでされていると思います。Excelのマクロで作ったり、自分でせっせとコードを書いたり、LLな言語を使ってさくっと作ったり、OSSのテンプレートエンジンで作ったり etc... そんな中で、1つコードジェネレータを作るときの選択肢として追加しても良さそうな機能がVisual Studio 2010にあります。その名も「前処理されたテキストテンプレート」です。正直、この名前から何をするものかってさっぱりわかりませんが、コードジェネレータとかを作るときにもってこいの、デキル奴だったりします。 とりあえず、Hello worldから始めてみましょう。HelloCodeGeneratorという名前でコンソールアプリケーションを作成します。そこに「HelloPreTextTemplate.tt」という名前で「前処理されたテキストテンプレート」を作成します。 HelloP

    Viausl Studio 2010で自作コードジェネレータ - かずきのBlog@hatena
  • 1