Tôi có Cửa sổ bật lên Cửa sổ khác. Tôi muốn cửa sổ thứ hai có thể trả về một đối tượng cho cửa sổ đầu tiên khi nhấn một nút. Làm thế nào tôi sẽ làm điều này?Giá trị trả lại của cửa sổ WPF
Trả lời
Bạn có thể hiển thị thuộc tính trên cửa sổ thứ hai để cửa sổ đầu tiên có thể truy xuất.
public class Window1 : Window
{
...
private void btnPromptFoo_Click(object sender, RoutedEventArgs e)
{
var w = new Window2();
if (w.ShowDialog() == true)
{
string foo = w.Foo;
...
}
}
}
public class Window2 : Window
{
...
public string Foo
{
get { return txtFoo.Text; }
}
}
Điều đó không có tác dụng vì người dùng tương tác với cửa sổ và nhấn một nút trước khi tôi muốn cửa sổ chính để lấy giá trị. – Reflux
Tôi đã tìm ra. Vấn đề là nó nên được nếu (w.ShowDialog() == false). – Reflux
@Reflux: bạn có chắc không? ShowDialog trả về false khi người dùng hủy bỏ hộp thoại, vì vậy bạn có thể không muốn đưa giá trị vào tài khoản trong trường hợp đó –
Nếu bạn không muốn để lộ một tài sản, và bạn muốn làm cho việc sử dụng một chút rõ ràng hơn, bạn có thể quá tải ShowDialog
:
public DialogResult ShowDialog(out MyObject result)
{
DialogResult dr = ShowDialog();
result = (dr == DialogResult.Cancel)
? null
: MyObjectInstance;
return dr;
}
Tôi biết đây là một cũ, nhưng tôi đang tìm kiếm thông tin tương tự cho một ứng dụng WPF mà tôi đang làm việc. Tôi tìm thấy trang web này là thực sự hữu ích:
http://www.dreamincode.net/forums/topic/206458-the-right-way-to-get-values-from-form1-to-form2/
này được viết cho Windows Forms, nhưng nếu bạn bỏ qua một phần về việc chuyển giá trị vào cửa sổ mới, nó vẫn làm việc và đã có một số thông tin thực sự tốt.
Trên một mặt lưu ý, để vượt qua các giá trị vào cửa sổ mới, đây là thực sự hữu ích:
Chào mừng bạn đến với StackOverflow. Mặc dù các liên kết bạn cung cấp có thể hữu ích nhưng bạn nên đặt trực tiếp các điểm chính vào bài đăng của mình. Bằng cách này, câu trả lời của bạn không trở nên không liên quan nếu liên kết bị hỏng và cũng dễ sử dụng hơn và hữu ích hơn. Vì vậy, tôi khuyên bạn nên chỉnh sửa câu trả lời của bạn cho phù hợp. Trân trọng – YakovL
- 1. Giá trị trả về của WPF Gọi giá trị trả lại luôn là số
- 2. Nhận giá trị trả lại của fputcsv
- 3. Trả về giá trị tùy chỉnh từ hộp thoại WPF
- 4. gỡ lỗi trả lại giá trị
- 5. WPF - Force ShowDialog để trả lại
- 6. Giá trị trả về của cửa sổ bật lên jQuery cho phụ huynh
- 7. Macro trả lại giá trị
- 8. (extjs) Nhận giá trị được chọn của nút radio dưới dạng. Không trả lại giá trị
- 9. Xem giá trị trả lại?
- 10. WPF: Cửa sổ tùy chỉnh
- 11. Tìm tay cầm vào cửa sổ WPF
- 12. Cửa sổ WPF tải trước
- 13. jQuery outerHeight không trả lại giá trị đúng
- 14. Nút JavascriptValue trả lại giá trị rỗng
- 15. Luôn trả lại giá trị dương
- 16. FMDatabaseQueue Cách trả lại giá trị
- 17. Qt: ý nghĩa của giá trị trả lại vị trí?
- 18. Chuỗi con của MySQL trả lại giá trị rỗng
- 19. kiểm tra giá trị trả lại của wget [if]
- 20. Vòng lặp của tôi chỉ trả lại một giá trị
- 21. Đang đợi giá trị trả lại của phương thức
- 22. fclose kiểm tra giá trị trả lại
- 23. GetCustomAttributes không trả lại giá trị
- 24. giá trị trả lại javascript UIWebView
- 25. Hibernate Trả lại giá trị số nguyên
- 26. Trả lại nhiều giá trị trong javascript?
- 27. Giá trị trả lại từ chrome.tabs.executeScript
- 28. Trình duyệt Android - Cửa sổ Javascript.trênWidth trả về giá trị sai
- 29. WPF: Tôi có thể buộc cửa sổ đánh giá lại tất cả các ràng buộc và xác thực của cửa sổ không?
- 30. Trả lại giá trị từ Chủ đề
là cửa sổ modal mới vào cửa sổ đầu tiên? – Robaticus
Lúc đầu tôi thậm chí còn không biết cửa sổ phương thức là gì nhưng tôi đã tìm ra nó. Mã của Thomas bên dưới với một chút chỉnh sửa hoạt động. – Reflux