IsOpen プロパティが、INotifyPropertyChanged を実現する ViewModel の IsOpen という名前のプロパティにバインドされている PopUp コントロールを持っています。ViewModel の IsOpen の値に応じて、PopUp コントロールを自動的に閉じたり開いたりしたいです。MVVM パターンを使用します。コードは次のとおりです。
ViewModel のコード:
public class MainViewModel : ViewModelBase
{
private bool _isOpen;
public bool IsOpen
{
get
{
return this._isOpen;
}
set
{
if (this._isOpen != value)
{
this._isOpen = value;
RaisePropertyChanged("IsOpen");
}
}
}
}
View 内のコード: //Main は以下の MainViewModel のインスタンスです
ポップアップ x:Name="popUp" IsOpen="{Binding Main.IsOpen}"
もちろん、IsOpen プロパティを変更するために使用される ViewModel のメソッドがあります。その変更を明確に確認できますが、ビューには通知されません。