OITA: Oika's Information Technological Activities

@oika 情報技術的活動日誌。

WPF DataContextを設定した直後にBinding先で値を参照する

突然ですが、以下の出力結果はどうなるでしょう?

//適当なボタン  
var button = new Button() { Width = 120, Height = 30 };  

//IsEnabledに"Used"というパスをバインド  
button.SetBinding(Button.IsEnabledProperty, new Binding("Used"));  

//Usedプロパティを持つ匿名クラスをコンテクストに  
button.DataContext = new { Used = false };    

Console.WriteLine(button.IsEnabled);    // <- true? false?  
続きを読む

C# Bitly APIで短縮URLを取得する

ひとむかし前はURL短縮サービスといえばbit.lyだったと思うんだけど、
今はいろいろあるし、以前ほど利用機会はなくなったかな。
けどAmazonのURLをamzn.toにしてくれたりするのはbit.lyが良いですね。

bitly_website

というか何気にびっくりしたんだけど、bit.lyじゃなくて
Bitlyっていうサイト名なのな。
URLもbitly.comだし。最初からそうだったっけか?

続きを読む

VisualStudio ビルド時のファイルコピー先をプロジェクト階層と違う場所にする

VisualStudio(というかMSBuildなんだけど)では、
ソースファイルでない任意のプロジェクトファイルについて
ソリューション エクスプローラーからビルドアクションを指定するときに
出力ディレクトリへのコピー有無を指定できる。

ただし、設定できるのはコピーするかどうかを決めるモードだけで、
コピー先のディレクトリを変えたりすることはできない。

例えば、以下のような構成で

Project Root\
    ├ ProjName.csproj
    ├ AClassFile.cs
    ├ bin\
    ├ obj\
    ├ Properties\
    └ img\
        └ image.jpg

image.jpgをプロジェクトに追加して、プロパティの
「出力ディレクトリにコピー」を「常にコピーする」にしてリリースビルドすると、
ファイルは bin\Release\img\image.jpg にコピーされる。

このコピー先をたとえば、 bin\Release\out\image.jpg にしたい場合。

続きを読む