none
バインディングについて RRS feed

  • 質問

  • お世話になります。

    リストボックスのDataContextにバインディングを設定して

    バインディング元を変更したタイミングでリストボックスの内容も変更させることはできますか?

    WPF

        <Grid>
    		<ListBox Height="100" HorizontalAlignment="Left" Margin="10,10,0,0" Name="listBox1" VerticalAlignment="Top"
    				Width="120" ItemsSource="{Binding Mode=}"/>
    		<TextBox Height="24" HorizontalAlignment="Left" Margin="136,12,0,0" Name="textBox1" VerticalAlignment="Top"
    				Width="120" />
    		<Button Content="追加" Height="23" HorizontalAlignment="Left" Margin="262,13,0,0" Name="button1"
    				VerticalAlignment="Top" Width="75" Click="button1_Click" />
    	</Grid>
    

    C#

    		private void Window_Loaded(object sender, RoutedEventArgs e)
    		{
    			m_NameList = new List<string>();
    			m_NameList.Add("aaa");
    			m_NameList.Add("bbb");
    			m_NameList.Add("ccc");
    
    			listBox1.DataContext = m_NameList;
    		}
    
    		private void button1_Click(object sender, RoutedEventArgs e)
    		{
    			m_NameList.Add(textBox1.Text);
    			//listBox1.DataContext = null;
    			//listBox1.DataContext = m_NameList;
    		}
    

    C#側の2行のコメントを外さずにリストボックスの内容をリアルタイムで変更するようにしたいんですが。

    2012年2月21日 10:20

回答

  • List<string>じゃなくてもいいならSystem.Collections.ObjectModel.ObservableCollection<string>に変えちゃうのが簡単。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク yty0918 2012年2月22日 0:13
    2012年2月21日 10:40

すべての返信

  • List<string>じゃなくてもいいならSystem.Collections.ObjectModel.ObservableCollection<string>に変えちゃうのが簡単。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク yty0918 2012年2月22日 0:13
    2012年2月21日 10:40
  • gekkaさん回答ありがとうございます。

    ObservableCollectionに変えることで目的を達成することができました。

    ありがとうございました。

    2012年2月22日 0:13
  • gekkaさんの補足ですが、以下を読まれると良いと思います。

    WPF/Silverlight UIフレームワーク入門
    第2回 データの表示と入力に必要な知識
    http://www.atmarkit.co.jp/fdotnet/vblab/uiframework_02/uiframework_02_04.html

    の、
    「コレクション・オブジェクトへのバインド」


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2012年2月22日 0:17
    モデレータ
  • trapemiyaさんありがとうございます。

    参考にさせて頂きます。

    2012年2月22日 2:12