2011-06-23 22 views
5

Khi chế độ ChildWindow của tôi đóng, kiểm soát cha mẹ không bị "không chuyển sang màu xám" và tất cả đầu vào của người dùng bị chặn, buộc tôi phải khởi động lại ứng dụng. Kịch bản chính xác khiến cho hành vi này nhất quán:Silverlight: Modal ChildWindow giữ màu xám cho phụ huynh sau khi đóng

  1. ChildWindow Bật lên và người dùng nhấp vào nút tùy chỉnh ở cuối cửa sổ (thay vì OK hoặc Hủy). Mã của tôi thực hiện một số công việc và sau đó gọi phương thức Close() cho ChildWindow.
  2. ChildWindow Một đóng và chức năng được khôi phục để kiểm soát cha mẹ (điều khiển là không màu xám).
  3. Người dùng khiến ChildWindow B bật lên. Người dùng nhấp vào nút OK hoặc Hủy do hệ thống tạo.
  4. ChildWindow B đóng, nhưng các điều khiển chính vẫn màu xám và không thể truy cập được.

Một trong hai cửa sổ hoạt động tốt liên tục. Có suy nghĩ gì không?

+0

Không thể tạo lại. Có lẽ có một vấn đề trong "Mã của tôi làm một số công việc"? – AnthonyWJones

+0

Điều này đã xảy ra với tôi một thời gian trước đây. Trong trường hợp của tôi, tôi đã mở ChildWindow thứ hai cùng lúc tôi đã đóng cửa sổ đầu tiên. Giải quyết bằng cách cho ChildWindow đầu tiên một thời gian để đóng. – NestorArturo

Trả lời

7

tôi thấy một cái gì đó tương tự (nó có thể không khắc phục vấn đề chính xác của bạn) và tìm thấy một số cuộc thảo luận về các ChildWindow here

họ đề nghị phương pháp này trong trường hợp đóng ChildWindow và nó làm việc cho tôi.

Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true); 

Cũng thử gọi hàm này.DialogResult = true thay vì phương thức Đóng.

+2

Dòng này thực sự phù hợp với tôi: Application.Current.RootVisual.SetValue (Control.IsEnabledProperty, true); – Roboblob

Các vấn đề liên quan