かずきのBlog

C#やJavaやRubyとメモ書き

目次

Blog 利用状況

ニュース

わんくまBlogが不安定になったため、前に書いてたはてなダイアリーにメインを移動します。
かずきのBlog@Hatena
技術的なネタは、こちらにも、はてなへのリンクという形で掲載しますが、雑多ネタははてなダイアリーだけに掲載することが多いと思います。
コメント
プログラマ的自己紹介
お気に入りのツール/IDE
プロフィール
経歴
広告
アクセサリ

書庫

日記カテゴリ

[WPF][C#]WPF4.0でのBindingのうごきの違い

ネタ元
http://karlshifflett.wordpress.com/2009/05/27/wpf-4-0-data-binding-change-great-feature/

WPF4.0からBindingの動きが変わるらしいです。
百聞は一見にしかずということなので、早速見てみます。

まず、VS2008でWPFアプリケーションを作ります。
そしていつもとちょっと違うPersonクラスを作成します。

public class Person : INotifyPropertyChanged
{
    #region INotifyPropertyChanged メンバ

    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged(string name)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(name));
        }
    }
    #endregion

    private string _name;
    public string Name
    {
        get { return _name; }
        set
        {
            _name = value;
            // 名前は大文字なのです
            if (!string.IsNullOrEmpty(_name))
            {
                _name = _name.ToUpper();
            }
            OnPropertyChanged("Name");
        }
    }
}

名前を大文字に変換するロジックがNameプロパティに仕込まれています。これをバインドする簡単なXAMLを作ります。

<Window x:Class="WpfBindingTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfBindingTest"
    Title="Window1" Height="300" Width="300">
    <Window.DataContext>
        <local:Person />
    </Window.DataContext>
    <StackPanel>
        <!-- PersonのNameプロパティにバインド -->
        <TextBox Text="{Binding Name}" />
        <Button Content="Dummy" />
    </StackPanel>
</Window>

これを実行すると…
image
aiueoと入力して、ボタンにフォーカスを移しても大文字にはなりません!!おしぃ。

同じものをWPF4.0で作成すると…(VS2010 betaで作成しました)
image

aiueoと入力してボタンにフォーカスを移すと…
image

大文字になります!!
どういうパイプラインになってるのかは、よく知りませんm(_ _)m

投稿日時 : 2009年5月28日 22:17

Feedback

# WPF の Binding の Converter が減る方向へ 2009/05/29 0:36 えムナウ Blog

WPF の Binding の Converter が減る方向へ

# re: [WPF][C#]WPF4.0でのBindingのうごきの違い 2009/05/29 13:00 倉田 有大

ひょっとしてWPF3.5だと
_name = _name.ToUpper();
この行、適当に
_name = "aaa";
とかにして、フォーカスを動かしても、反映されないと言うことでしょうか

# re: [WPF][C#]WPF4.0でのBindingのうごきの違い 2009/05/29 22:03 かずき

です~。
えムナウさんの所を見てみると理由が書いてあります。
なので、Bindingに下のような何もしないコンバータでも適用するとaaaになります。
using System;
using System.Windows.Data;

namespace WpfBindingTest
{
public class NoOpConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
}
}

# burberry mens shirts 2012/10/25 7:29 http://www.burberryoutletonlineshopping.com/burber

Someone essentially lend a hand to make critically articles I would state. This is the first time I frequented your web page and thus far? I surprised with the research you made to make this actual put up incredible. Fantastic process!
burberry mens shirts http://www.burberryoutletonlineshopping.com/burberry-men-shirts.html

# Burberry Watches 2012/10/25 7:29 http://www.burberryoutletonlineshopping.com/burber

Enjoyed examining this, very good stuff, thanks . "Love begets love, love knows no rules, this is the same for all." by Virgil.
Burberry Watches http://www.burberryoutletonlineshopping.com/burberry-watches.html

# women t shirts 2012/10/25 7:29 http://www.burberryoutletonlineshopping.com/burber

Some truly great content on this web site , regards for contribution.
women t shirts http://www.burberryoutletonlineshopping.com/burberry-womens-shirts.html

# burberry bags 2012/10/25 7:29 http://www.burberryoutletonlineshopping.com/burber

I was reading some of your posts on this internet site and I believe this internet site is rattling informative! Retain posting.
burberry bags http://www.burberryoutletonlineshopping.com/burberry-tote-bags.html

# burberry wallets 2012/10/25 7:30 http://www.burberryoutletonlineshopping.com/burber

Some genuinely superb info , Gladiola I observed this. "True success is overcoming the fear of being unsuccessful." by Paul Sweeney.
burberry wallets http://www.burberryoutletonlineshopping.com/burberry-wallets-2012.html

# コピーブランド販売 2021/11/23 10:04 xhdccrob@ocn.ne.jp

日本的な人気と信頼を得ています。
安心、安全にお届けします
価格、品質、自信のある商品を取り揃えておりますので、
当店の主要な経営のブランド:ヴィトン シャネル ロレックスなど.
当店は主に経営する商品:かばん.バッグ .財布 .キーケース. .腕時計など.
日本には無い商品,日本では高価な商品,弊社のない商品,取引先を代理して製造会社を連絡することができる.
弊社長年の豊富な経験と実績があり.輸入手続も一切は弊社におまかせできます.ご希望の商品を責任を持ってお届けします.
当店の商品は特恵を与える。興味あれば、是非ご覧下さい
財布、腕時計、バッグ一品市場

# Generic Name. Get warning information here.
https://canadianfast.com/
Generic Name. Prescription Drug Information, Interactions & Side. 2023/02/20 16:51 CanadaBest

Generic Name. Get warning information here.
https://canadianfast.com/
Generic Name. Prescription Drug Information, Interactions & Side.

# price of doxycycline - https://doxycyclinesale.pro/# 2023/04/22 4:03 Doxycycline

price of doxycycline - https://doxycyclinesale.pro/#

# prednisone online paypal - https://prednisonesale.pro/# 2023/04/22 15:10 Prednisone

prednisone online paypal - https://prednisonesale.pro/#

# Misoprostol 200 mg buy online - https://cytotecsale.pro/# 2023/04/29 4:40 Cytotec

Misoprostol 200 mg buy online - https://cytotecsale.pro/#

# over the counter bv treatment https://overthecounter.pro/# 2023/05/08 22:46 OtcJikoliuj

over the counter bv treatment https://overthecounter.pro/#

# no prescription canadian pharmacies https://pillswithoutprescription.pro/# 2023/05/15 3:32 PillsPresc

no prescription canadian pharmacies https://pillswithoutprescription.pro/#

# ï»¿paxlovid https://paxlovid.life/# Paxlovid buy online 2023/07/26 6:17 Paxlovid

paxlovid https://paxlovid.life/# Paxlovid buy online

# buy cytotec over the counter https://cytotec.ink/# - buy cytotec pills online cheap 2023/07/27 1:14 PillsFree

buy cytotec over the counter https://cytotec.ink/# - buy cytotec pills online cheap

タイトル
名前
Url
コメント