none
TextBlockのチェンジイベントについて RRS feed

  • 質問

  • 浅い質問でもうしわけありません。

    textBox でtextBox内に変更があった場合に起こるイベントは、
            private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
            {
    
            }
    のように拾えますが、

    textBlock内の変更イベントが拾えません。
    どのようにすればよいのでしょうか?

    簡単なことなのかもしれませんが、私にはよくわかりません。
    どなたかご教授いただけないでしょうか。
    • 移動 菊地俊介 2009年11月4日 1:13 カテゴリ違い (移動元:Windows Presentation Foundation(WPF): よくある質問)
    2009年11月2日 13:49

回答

  • TextBlockにはTextChangedのようなイベントがありませんので、NotifyOnTargetUpdatedプロパティやNotifyOnSourceUpdatedプロパティをtrueに設定して、そのイベントプロシージャで拾うことがよく紹介されています。
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク ito_ito 2009年11月3日 3:32
    2009年11月2日 15:52
    モデレータ

すべての返信

  • TextBlockにはTextChangedのようなイベントがありませんので、NotifyOnTargetUpdatedプロパティやNotifyOnSourceUpdatedプロパティをtrueに設定して、そのイベントプロシージャで拾うことがよく紹介されています。
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    • 回答としてマーク ito_ito 2009年11月3日 3:32
    2009年11月2日 15:52
    モデレータ
  • trapemiya 様

    回答ありがとうございます!なんとなくですが、できました!! とりあえず、コードを載せます。私、勘違いをしておりますでしょうか?

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Xaml
    <Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Grid>
            <TextBlock  Name="RentText" Text="{Binding ElementName=DataSrcText, 
           Path=Text, Mode=OneWay, NotifyOnTargetUpdated=True}" TargetUpdated="OnTargetUpdated" Height="108" Margin="0,0,42,0"
           VerticalAlignment="Top" Background="Cyan" /> <TextBox Margin="0,114,42,110" Name="DataSrcText" /> </Grid> </Window>

    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Xaml.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace WpfApplication1
    {
        /// <summary>
        /// Window1.xaml の相互作用ロジック
        /// </summary>
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
    
            private void OnTargetUpdated(object sender, DataTransferEventArgs e)
            {
                MessageBox.Show("チェンジイベント!");
            }       
        }
    }


    2009年11月2日 16:55

  • 回答ありがとうございます!なんとなくですが、できました!! とりあえず、コードを載せます。私、勘違いをしておりますでしょうか?


    いえ、OKですよ。
    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/
    2009年11月3日 0:32
    モデレータ
  • ありがとうございました!
    今後もよろしくお願いします。
    2009年11月3日 3:33