첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

■ BindingExpression 클래스 : UpdateSourceTrigger.Explicit 설정시 처리하기

----------------------------------------------------------------------------------------------------

XAML

 

 

<TextBox

    x:Name="textBox"

    Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=Explicit}" />

<Button

    Content="Update"

    Click="updateButton_Click" />

 

 

C#

 

 

using System.Windows;

using System.Windows.Data;

 

/// <summary>

/// 테스트 데이터

/// </summary>

public class TestData

{

    //////////////////////////////////////////////////////////////////////////////////////////////////// Property

    ////////////////////////////////////////////////////////////////////////////////////////// Public

 

    #region 값 - Value

 

    /// <summary>

    ///

    /// </summary>

    public string Value { get; set; }

 

    #endregion

}

 

...

 

/// <summary>

/// 테스트 데이터

/// </summary>

private TestData testData;

 

...

 

this.testData = new TestData() { Value = "One" };

 

this.textBox.DataContext = this.testData;

 

...

 

#region Update 버튼 클릭시 처리하기 - updateButton_Click(sender, e)

 

/// <summary>

/// Update 버튼 클릭시 처리하기

/// </summary>

/// <param name="sender">이벤트 발생자</param>

/// <param name="e">이벤트 인자</param>

private void updateButton_Click(object sender, RoutedEventArgs e)

{

    BindingExpression bindingExpression = this.textBox.GetBindingExpression(TextBox.TextProperty);

 

    MessageBox.Show("Before UpdateSource, Test = " + this.testData.Value);

 

    bindingExpression.UpdateSource();

 

    MessageBox.Show("After UpdateSource, Test = " + this.testData.Value);

}

 

#endregion

 

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요