Так я получил пользовательский DependencyProperty как это:вручную вызов OnPropertyChanged для пользовательского DependencyProperty
public class PatientLookUp : TextBox
{
public static readonly DependencyProperty PatientProperty = DependencyProperty.Register("Patient", typeof(Patient), typeof(PatientLookUp), new FrameworkPropertyMetadata { BindsTwoWayByDefault = true });
public Patient Patient
{
get { return (Patient)GetValue(PatientProperty); }
set { SetValue(PatientProperty, value); }
}
//some logic for getting the Patient...
}
Edit: Это определяется в CustomControl. Другой элемент управления, использующий этот CustomControl, связывает свойство Patient и слушает его измененное событие. Проблема в том, что я делаю некоторые сетевые запросы, и если я получаю нулевой Пациент в результате, я все равно хочу уведомить другой элемент управления, который CustomControl выполнил, даже если Пациент действительно не изменился. Итак, теперь я хочу вызвать событие PropertyChanged вручную. Есть какой-либо способ сделать это?
Надеюсь, вы можете мне помочь, спасибо.
Edit2: Мой XAML связывание пациента (укороченный):
<Window Name="MyWindow">
<Grid>
<llc:PatientLookUp Patient="{Binding Patient}" MaxLength="10" Text="{Binding SocialSecurityNumber}" />
</Grid>
<Window>
Теперь мне нужно, чтобы уведомить ViewModel о MyWindow в случае объект пациента в PatientLookUp изменилось. LookUp имеет логику запроса, нажатую на клавишу ввода. По завершении запроса я хочу уведомить ViewModel MyWindow, даже если он не смог найти никого, и значение по-прежнему равно null.
'Мне это нужно ссылаться, даже если значение не меняется. '- Что вы хотите вызвать? –
Вы не можете этого сделать. И кажется, что вы смешиваете свою бизнес-модель в пользовательском интерфейсе, вообще не должно быть такого свойства «Пациент» в пользовательском интерфейсе. Что вы на самом деле пытаетесь сделать? –
@HighCore см. Обновление. –