bağlayıcı OneWay Diyelim ki statik özelliği Name
ile sınıf Country
olduğunu varsayalım.
public class Country
{
public static string Name { get; set; }
}
Ve şimdi TextBlock
ait TextProperty
mülkü Name
bağlayıcı istiyorum.
Binding binding = new Binding();
binding.Source = Country.Name;
this.tbCountry.SetBinding(TextBlock.TextProperty, binding);
Güncelleme: TwoWay
Country
sınıf bağlayıcı şuna benzer:
public static class Country
{
private static string _name;
public static string Name
{
get { return _name; }
set
{
_name = value;
Console.WriteLine(value); /* test */
}
}
}
Ve şimdi TextBox
için bu özelliği Name
bağlayıcı istediğiniz, bu yüzden:
Binding binding = new Binding();
binding.Source = typeof(Country);
binding.Path = new PropertyPath(typeof(Country).GetProperty("Name"));
binding.Mode = BindingMode.TwoWay;
binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
this.tbCountry.SetBinding(TextBox.TextProperty, binding);
Hedefi güncellemek istiyorsanız
Eğer BindingExpression
ve işlevini UpdateTarget
kullanmalısınız: Her zaman statik birine erişim sağlamak için statik olmayan sınıf yazabilirsiniz
Country.Name = "Poland";
BindingExpression be = BindingOperations.GetBindingExpression(this.tbCountry, TextBox.TextProperty);
be.UpdateTarget();