私のMainViewModel
中には、ユーザーが設定したプロパティがあります。新しい値を受け取ったら、 my で情報を更新したいと思いUserControl
ます。問題は、バインディングが機能しないことです。私がそれを機能させたい方法は次のとおりです。SelectedDay
が変更された後Day
、ユーザー コントロール コード ビハインドのプロパティも変更され、メソッドが呼び出されCalculateDay
ます。ただし、このメソッドは呼び出されません。
理由は非常に単純で、バインドのメカニズムを完全には理解していないだけだと思いますが、何が問題なのか理解できず、本当に助けが必要です。すでに同様の質問をいくつか確認しましたが、適切な回答が見つかりませんでした。
私が持っているコード:
MainViewModel
private Day _selectedDay;
public Day SelectedDay
{
get { return _selectedDay; }
set
{
_selectedDay = value;
RaisePropertyChanged("SelectedDay");
}
}
メインウィンドウ XAML
<controls:DayControl Day="{Binding SelectedDay, Mode=TwoWay}"></controls:DayControl>
UserCotrol コード ビハインド
public Day Day
{
get { return (Day)GetValue(DayProperty); }
set
{
SetValue(DayProperty, value);
CalculateDay();
}
}
public static readonly DependencyProperty DayProperty =
DependencyProperty.Register("Day", typeof(Day), typeof(DayControl), new PropertyMetadata(new Day()));