날씨가 많이 덥지요?
예전부터 포스팅 하려고 했었던 글이였는데 이제야 글을 쓰게 됐네요.
지금에서 보면 많은 분들이 이미 알고 있기때문에 쓸모없는 글이 될 수도 있겠네요.
그래도 혹시 모를 초보자들분을 위해서 간단하고 짧게 설명하겠습니다.
실버라이트 MVVM 하면 떠오르는것 중 하나가 바인딩이죠.
이번엔 .xaml 에서말고 .cs 에서 바인딩을 해보도록 하겠습니다.
사실 동적으로 바인딩 해야될 경우가 분명히 있거든요.
모르시는 분들은 알아두면 좋은 팁이 될 수도 있습니다.
public class Test
{
public Test()
{
TextBox txt = new TextBox();
System.Windows.Data.Binding bind = new System.Windows.Data.Binding("MyProperty");
txt.SetBinding(TextBox.TextProperty, bind);
txt.DataContext = new MyClass() { MyProperty = "test" };
}
}
public class MyClass : INotifyPropertyChanged
{
private string _MyProperty = string.Empty;
public string MyProperty
{
get { return _MyProperty; }
set
{
_MyProperty = value;
FirePropertyChanged("MyProperty");
}
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public void FirePropertyChanged(string name)
{
if (PropertyChanged == null)
return;
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
#endregion
}
위와같이 .cs 에서 바인딩을 쉽게 하실 수 있습니다.
간단히 소스설명을 하자면
System.Windows.Data.Binding bind = new System.Windows.Data.Binding("MyProperty");
에서 MyProperty는 쉽게 얘기해서 할당할 속성값입니다.
그리고 이 속성값을 TextBox의 Text 속성에다가 할당하겠다는 의미가 됩니다.
바인딩은 속성에 할 수 있으며, 이 속성은 INotifyPropertyChanged 를 구현해서 값이 변하거나 할때 알려주어야 합니다.
그래야지 변경된 값이 자동적으로 바인딩되거든요.
이상 간단한 팁아닌 팁이였습니다.
예전부터 포스팅 하려고 했었던 글이였는데 이제야 글을 쓰게 됐네요.
지금에서 보면 많은 분들이 이미 알고 있기때문에 쓸모없는 글이 될 수도 있겠네요.
그래도 혹시 모를 초보자들분을 위해서 간단하고 짧게 설명하겠습니다.
실버라이트 MVVM 하면 떠오르는것 중 하나가 바인딩이죠.
이번엔 .xaml 에서말고 .cs 에서 바인딩을 해보도록 하겠습니다.
사실 동적으로 바인딩 해야될 경우가 분명히 있거든요.
모르시는 분들은 알아두면 좋은 팁이 될 수도 있습니다.
public class Test
{
public Test()
{
TextBox txt = new TextBox();
System.Windows.Data.Binding bind = new System.Windows.Data.Binding("MyProperty");
txt.SetBinding(TextBox.TextProperty, bind);
txt.DataContext = new MyClass() { MyProperty = "test" };
}
}
public class MyClass : INotifyPropertyChanged
{
private string _MyProperty = string.Empty;
public string MyProperty
{
get { return _MyProperty; }
set
{
_MyProperty = value;
FirePropertyChanged("MyProperty");
}
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
public void FirePropertyChanged(string name)
{
if (PropertyChanged == null)
return;
PropertyChanged(this, new PropertyChangedEventArgs(name));
}
#endregion
}
위와같이 .cs 에서 바인딩을 쉽게 하실 수 있습니다.
간단히 소스설명을 하자면
System.Windows.Data.Binding bind = new System.Windows.Data.Binding("MyProperty");
에서 MyProperty는 쉽게 얘기해서 할당할 속성값입니다.
그리고 이 속성값을 TextBox의 Text 속성에다가 할당하겠다는 의미가 됩니다.
바인딩은 속성에 할 수 있으며, 이 속성은 INotifyPropertyChanged 를 구현해서 값이 변하거나 할때 알려주어야 합니다.
그래야지 변경된 값이 자동적으로 바인딩되거든요.
이상 간단한 팁아닌 팁이였습니다.
'RIA' 카테고리의 다른 글
실버라이트 프로그래머가 할 수 있는 최소한의 블랜드 디자이너를 위한 배려 (4) | 2010.07.15 |
---|---|
.Net Ria Service 와 Entities 그리고 Stored Procedure 하다가 생긴일.. (0) | 2010.07.15 |
.Net Ria Service + IIS6 + Silverlight 4 Troubleshooting!! (2) | 2010.06.14 |
Silverlight 4 Beta 공개 (1) | 2009.11.19 |
Silverlight 3 & Blend 3 RC 공개!!! (0) | 2009.07.10 |