2012年6月28日木曜日

マウスカーソルが変わらないときは

マウスカーソルの形を司るプロパティとして、Cursor プロパティがあります。
FrameworkElement クラスのメンバです。これでマウスカーソルが十字のアイコンになります。
public MainWindow()
{
    InitializeComponent();

    // こんな感じ
    this.Cursor = Cursors.Cross;
}

ただ、この設定では時々マウスカーソルがデフォルトのアイコンに なることがあります。例えば ComboBox のリストアイテム上にマウスカーソルを持っていった時とか・・・。

マウスカーソルの形をなんとしてでも決めておきたい場合には不便です。 こんな時には、Mouse.OverrideCursor プロパティを使います。 このプロパティはアプリケーション全体で使うマウスカーソルの指定ができます。
public MainWindow()
{
    InitializeComponent();

    //this.Cursor = Cursors.Cross;
    // 代わりにこんな感じ
    Mouse.OverrideCursor = Cursors.Cross;
}

マウスカーソルの形を変えられない、元に戻ってしまう!という時は Mouse.OverrideCursor を使ってみてください。

MSDN - Mouse.OverrideCursor プロパティ

2012年6月24日日曜日

GridView にヘッダのみ表示


ASP.NET GridView(.NET Framework 4.0) はデフォルトでは空データとバインドしてもヘッダが表示されません。
空データとバインドしてもヘッダを表示するには、ShowHeaderWhenEmpty プロパティを有効にします。

↓こんな感じです。
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // 空データでもヘッダを表示する
        this.GridView1.ShowHeaderWhenEmpty = true;

        DataTable dt = new DataTable();

        // 列の定義
        dt.Columns.Add("Column1");
        dt.Columns.Add("Column2");
        dt.Columns.Add("Column3");

        // 行データは設定しない
        //dt.Rows.Add("", "", "");

        // 列定義だけを持つ DataTable を参照
        this.GridView1.DataSource = dt;
        this.GridView1.DataBind();
    }
}
MSDN - GridView.ShowHeaderWhenEmpty プロパティ

2012年6月20日水曜日

EventTrigger の利用例

EventTrigger の利用例です。

ここでは
①ボタンをクリックしたタイミングで Wave ファイルを再生
②マウスホバー中はボタンを高く、ホバーをやめるとボタンの高さを戻す


Storyboard を使うときは BeginStoryboard も一緒に使います~。
<Window x:Class="EventTrigger.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <Style TargetType="Button">
            <Style.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <SoundPlayerAction Source="beach.wav"/>
                </EventTrigger>
                <EventTrigger RoutedEvent="MouseEnter">
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation To="300" Duration="0:0:2" 
                                             Storyboard.TargetProperty="Height" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
                <EventTrigger RoutedEvent="MouseLeave">
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Duration="0:0:2" 
                                             Storyboard.TargetProperty="Height" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>
    <Grid>
        <Button Content="Button" Height="23" Name="button1" Width="75" />
    </Grid>
</Window>

参考:EventTrigger クラス

2012年6月18日月曜日

IIS に Web サイトを配備する方法

IIS に Webサイト を配備する方法をメモしておきます。




 1.Web サイトの発行

VisualStudio で Web サイトを作成したら任意の場所にコピーします。

↓ 「Web サイトの発行」 を選択
 









↓ 「対象の場所」を指定します。


















OK をクリックすると、指定した場所に Web サイトアプリケーションがコピーされます。
これで Web サイトの準備が完了です。


2.IISにアプリケーションを追加
引き続き、IIS マネージャーを使って IIS にアプリケーションを追加していきます。

↓ 「Default Web Site」 → 「アプリケーションの追加...」 を選択します。























↓ エイリアスに適当な名前をつけます。物理パスは先程 Web サイトをコピーした場所を指定します。


















 これで IISに Web サイトを配備できました。


3.Web サイトを開く

↓ 配備したアプリケーションの「アプリケーションの管理」 → 「参照」をクリックします。





















そうするとブラウザが立ち上がり、アプリケーションが表示されます。