#867 – Controlling Whether a Popup Is Open Using Data Binding

You can control whether a popup is open by setting its IsOpen property from your code, using the name of the Popup control.  Another approach is to bind the IsOpen property to a boolean value and then to manipulate the boolean value to control whether the popup is open.

        <Popup IsOpen="{Binding PopupOpen}">
            <-- Content of Popup goes here -->

In your code-behind, you implement INotifyPropertyChanged and define the boolean PopupOpen property.

    public partial class MainWindow : Window, INotifyPropertyChanged
        public MainWindow()
            this.DataContext = this;

        // INotifyPropertyChanged
        public event PropertyChangedEventHandler PropertyChanged = delegate { };

        private void RaisePropertyChanged(string propName)
            PropertyChanged(this, new PropertyChangedEventArgs(propName));

        private bool popupOpen;
        public bool PopupOpen
            get { return popupOpen; }
                popupOpen = value;

        private void question_MouseEnter(object sender, MouseEventArgs e)
            PopupOpen = true;

        private void btnOK_Click(object sender, RoutedEventArgs e)
            PopupOpen = false;


About Sean
Software developer in the Twin Cities area, passionate about software development and sailing.

One Response to #867 – Controlling Whether a Popup Is Open Using Data Binding

  1. Pingback: Dew Drop – July 19, 2013 (#1,588) | Alvin Ashcraft's Morning Dew

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: