У меня есть свойство с одинаковым именем как в базовом, так и в производном классе с другим типом данных.При связывании свойства со свойством TextBlock.Text во время самой привязки возникает исключение.
ПРИМЕЧАНИЕ. Исключение выдается только в UWP.Но отлично работает в WPF.
Исключительные скриншоты:
ambiguousmatchexception.png
BindingCode:
MyData myDataObject = new MyData(DateTime.Now);
Binding myBinding = new Binding();
myBinding.Mode = BindingMode.TwoWay;
myBinding.ConverterParameter = null;
myBinding.UpdateSourceTrigger = UpdateSourceTrigger.Default;
myBinding.Path = new PropertyPath("MyDataProperty");
myBinding.Source = myDataObject;
myBinding.ElementName = myDataObject.MyDataProperty;
textBlock.SetBinding(TextBlock.TextProperty, myBinding);
Модель:
public class data
{
public int MyDataProperty { get; set; }
}
public class MyData : data
{
private string myDataProperty;
enter code here
public MyData() { }
public MyData(DateTime dateTime)
{
myDataProperty = "Last bound time was " + dateTime.ToLongTimeString();
}
public new String MyDataProperty
{
get { return myDataProperty; }
set
{
myDataProperty = value;
OnPropertyChanged("MyDataProperty");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string info)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(info));
}
}