Bir özelliğin varsayılan ciltleme modunun ne olacağını program aracılığıyla öğrenmek istiyorum. Ben TextBox.TextProperty
karşılaştırılmak eğerBir bağımlılık özelliğinin varsayılan ciltleme modunu nasıl edinirsiniz?
Örneğin, BindingMode.TwoWay
olmalı ancak sorun olduğu takdirde ItemsControl.ItemsSourceProperty
o BindingMode.OneWay
olmalıdır.
public override object ProvideValue(IServiceProvider provider)
{
var service = provider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget;
if (service != null)
{
var target = service.TargetObject as DependencyObject;
var property = service.TargetProperty as DependencyProperty;
// Not sure what to do with the target and propery here...
}
}
Bu cevap tarafından DependencyProperty varsayılan olarak BindingMode.OneTime' 'ayarlanmalıdır için hiçbir yol olduğunu tahmin ediyorum? Ya iki ya da değil mi? – michael
@michael: Çerçeveye özgü özellikler için, evet. 'OneTime' ve' OneWayToSource' AFAIK, yalnızca .NET'in basit özellikleriyle veri bağlamayı daha iyi desteklemek için var. – Jon