phương pháp hay nhất để chuyển giá trị giữa trang trong WPF là gì?Cách chuyển giá trị giữa hai trang trong WPF
nhờ
phương pháp hay nhất để chuyển giá trị giữa trang trong WPF là gì?Cách chuyển giá trị giữa hai trang trong WPF
nhờ
Điểm tham chiếu cố định của bạn là đối tượng Ứng dụng. Bạn có thể lưu trữ nội dung trong bộ sưu tập Thuộc tính:
string myText = (string)Application.Current.Properties["test"];
Hoặc bạn có thể thêm bất kỳ loại dữ liệu nào vào lớp Ứng dụng có nguồn gốc của bạn.
cách tiếp cận này có rủi ro đối tượng ứng dụng của bạn trở thành một đối tượng Thiên Chúa. – Joe
Có lẽ thông qua mô hình trong một MVVM architecture.
Nhưng ở đâu bạn lưu trữ các mô hình? Đó là một ý tưởng hay nhưng chỉ di chuyển vấn đề xung quanh. –
@Henk, một câu trả lời ngắn cho một câu hỏi ngắn. Nhưng thiết kế một ứng dụng MVVM là một chủ đề lớn, liên kết vui lòng được cung cấp bởi Klaus trong câu trả lời của tôi là một điểm khởi đầu tốt. – Joe
giống như Windows Biểu mẫu:
không chỉ sử dụng các biến toàn cầu hoặc điều khiển của trang truy cập từ một trang khác. nếu bạn có hai trang cần chia sẻ cùng một đối tượng, ví dụ: Student
, có phương thức như SetStudent(Student student)
trong trang của bạn hoặc sử dụng thuộc tính để một trang có thể chuyển đối tượng Sinh viên sử dụng phương thức đó. Bạn cũng có thể có được tất nhiên, nếu cần thiết.
Ví dụ biến name = DeptName
Khai báo biến trong App.xaml tức
public string DeptName { get; set; }
gán giá trị trong trang 1 của bạn
(App.Current as App).DeptName = "test";
sau đó gọi giá trị trong trang của bạn-2
string selected_dept = (App.Current as App).DeptName;
Tôi thực hiện một vài phương pháp khác nhau để chuyển các tham số trong [câu trả lời này] (http://stackoverflow.com/a/12444817/200442). Nó đi qua sử dụng các tham số chuỗi truy vấn, các đối số hàm tạo và một vài đối số khác. –
có thể trùng lặp của [Làm thế nào để vượt qua giá trị (tham số) giữa các trang XAML?] (Http://stackoverflow.com/questions/12444816/how-to-pass-values-parameters-between-xaml-pages) –