‫Chào mừng trở lại.
‫Bây giờ bạn đã biết thuộc tính phụ thuộc là gì, đã đến lúc kiểm tra ràng buộc dữ liệu vì chúng được liên
‫kết với nhau hoặc được kết nối với nhau.
‫Vì vậy, trong video này, chúng ta sẽ nói về bốn chế độ ràng buộc khác nhau.
‫Vì vậy, các phương thức ràng buộc dữ liệu, và có một phương thức được gọi là một chiều.
‫Vì vậy, nó đi từ nguồn ràng buộc đến đích ràng buộc.
‫Sau đó, có mục tiêu ràng buộc đối với nguồn liên kết và ngược lại, đó là chế độ hai chiều.
‫Và sau đó, chúng ta có một cách để tìm nguồn gửi thông tin từ đích đến nguồn.
‫Và cuối cùng chúng ta có đích ràng buộc một lần, là nguồn liên kết được thực hiện trong phương thức khởi tạo hoặc
‫trong quá trình khởi tạo.
‫Vì vậy, hãy kiểm tra một ví dụ cho điều đó.
‫Chúng ta có thể có một hộp văn bản ở đây, nơi chúng ta có thể nhập văn bản vào.
‫Vì vậy, tôi sẽ cung cấp cho nó chiều rộng giả sử là 100 và tôi sẽ cung cấp cho nó một lề, giả
‫sử 50 pixel.
‫Bây giờ tôi muốn sử dụng bảng điều khiển ngăn xếp thay vì lưới.
‫Vì vậy, tôi sẽ đổi tên thành bảng điều khiển Ngăn xếp ngay bây giờ trong đó.
‫Hộp văn bản.
‫Tôi sẽ gán một văn bản được gọi là.
‫Hoặc tốt, nó sẽ chỉ nói một cái gì đó như 15.
‫Và bên dưới đó tôi sẽ tạo một thanh trượt.
‫Vì vậy, thanh trượt phải có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 100.
‫Bây giờ chúng ta hãy chạy mã như vậy để bạn có thể thấy những gì chúng tôi đã tạo ở đó.
‫Và như bạn có thể thấy, có giá trị là 15.
‫Đó là một hộp văn bản, vì vậy tôi có thể thay đổi văn bản nếu tôi muốn.
‫Và có thanh trượt.
‫Và bây giờ điều tôi muốn làm là tôi muốn kết nối hai điều đó.
‫Vì vậy, tôi muốn kết nối thanh trượt với hộp văn bản.
‫Và như bạn đã thấy, có bốn cách kết nối khác nhau.
‫Và cái mà tôi sẽ sử dụng đầu tiên là liên kết dữ liệu một chiều.
‫Vì vậy, ở đây tôi sẽ nói rằng văn bản của hộp văn bản của tôi nên được ràng buộc.
‫Vì vậy, tôi sẽ sử dụng ràng buộc ở đây và tôi muốn biết tôi nên ràng buộc với ai?
‫Vì vậy, tôi muốn liên kết với thanh trượt.
‫Vì vậy, để giao tiếp với thanh trượt hoặc để truy cập thanh trượt, thanh trượt cần phải
‫có tên.
‫Vì vậy, tôi sẽ đặt tên cho nó, thanh trượt của tôi, và bây giờ tôi có thể thêm tên đó vào đây.
‫Vì vậy, tên phần tử mà tôi muốn liên kết là thanh trượt của tôi.
‫Và thực sự điều này không có trong dấu gạch nối.
‫Bây giờ điều tiếp theo là tôi cần phải có một con đường.
‫Vì vậy, nó là gì mà tôi muốn có từ thanh trượt này?
‫Và nó có thể là nhiều thuộc tính, phải không?
‫Nhưng điều mà tôi quan tâm là giá trị bởi vì tôi muốn biết giá trị của thanh trượt của mình.
‫Vì vậy, tôi nói giá trị đường dẫn bằng nhau.
‫Và bây giờ cuối cùng tôi cần chỉ định chế độ và chúng ta sẽ bắt đầu với chế độ một chiều.
‫Và trước khi tôi có thể kiểm tra điều đó, tất nhiên, tôi cần phải loại bỏ văn bản cũ của tôi mà tôi đã có ở đó.
‫Và bây giờ chúng ta có thể tiếp tục và chạy mã.
‫Và chúng ta sẽ xem nếu tôi kéo thanh trượt.
‫Giá trị ở đây cũng thay đổi.
‫Bây giờ như bạn có thể thấy, nó có rất nhiều giá trị dấu chấm động ở đây hoặc một giá trị dấu chấm động dài.
‫Và tôi muốn có một số nguyên.
‫Vì vậy, những gì tôi có thể làm là tôi có thể sử dụng một thứ gọi là snap snap để kích hoạt.
‫Vì vậy, snap để kích hoạt điều đó ở đây và tôi sẽ nói nó là sự thật.
‫Vì vậy, tôi muốn nó được kích hoạt.
‫Vì vậy, nếu tôi chạy lại nó, thì bạn sẽ thấy chúng tôi sẽ chỉ nhận được các giá trị nguyên ở đây, số nguyên.
‫Được rồi, thật tuyệt.
‫Nhưng bây giờ.
‫Nhân tiện, bạn cũng có thể thấy điều gì là nó không được kết nối với thanh trượt.
‫Vì vậy, văn bản được kết nối hoặc nguồn dữ liệu là thanh trượt của chúng ta và mục tiêu là hộp văn bản của chúng ta.
‫Vì vậy, như bạn có thể thấy, dữ liệu được gửi đến hộp văn bản.
‫Nhưng vì chúng tôi đã đặt chế độ thành một chiều, nếu tôi thay đổi giá trị của văn bản ở đây hoặc hộp văn bản của tôi, thanh trượt sẽ không quan tâm
‫đến điều đó, vì vậy nó sẽ không thay đổi bất cứ điều gì.
‫Vì vậy, hãy nhập 25 chẳng hạn, Slider không quan tâm.
‫Vì vậy, nếu chúng ta thay đổi điều đó thành hai cách, thì nó sẽ quan tâm.
‫Và bây giờ, chỉ dành cho bạn, cái này ở đây.
‫Vì vậy, hộp văn bản của chúng tôi là hộp văn bản đích của chúng tôi là mục tiêu và thanh trượt của chúng tôi là nguồn liên kết.
‫Vì vậy, thanh trượt là nguồn ràng buộc.
‫Và bây giờ toàn bộ điều này ở trên cùng có ý nghĩa hơn rất nhiều, phải không?
‫Vì vậy, bây giờ chúng tôi sử dụng chế độ hai chiều và bạn sẽ thấy điều đó có nghĩa là gì trong chế độ thứ hai.
‫Vì vậy, chúng tôi ở đây.
‫Nếu bây giờ tôi nhập một giá trị vào đây và tôi nhấn tab để giá trị được xem xét và tôi có thể
‫thấy rằng thanh trượt của chúng tôi thay đổi giá trị của nó.
‫Vì vậy, bây giờ chúng được kết nối theo cả hai cách.
‫Điều gì sẽ xảy ra nếu tôi chỉ muốn có một cách nhưng hướng tới nguồn gốc?
‫Vì vậy, chỉ văn bản sẽ ảnh hưởng đến thanh trượt, nhưng thanh trượt sẽ không ảnh hưởng đến hộp văn bản.
‫Vậy thì chúng ta có thể sử dụng một cách này cho chế độ nguồn, vì vậy tôi sẽ sử dụng một cách để tạo nguồn.
‫Vì vậy, chúng ta hãy chạy lại nó.
‫Và bây giờ nếu tôi thay đổi giá trị ở đây, như bạn có thể thấy, không có gì thay đổi.
‫Nhưng nếu tôi thêm một giá trị vào đây, thì thanh trượt sẽ thay đổi.
‫Được chứ?
‫Vì vậy, đó là một cách để tìm nguồn.
‫Và bây giờ cuối cùng, chế độ một lần.
‫Hãy đi vào cửa sổ chính của chúng tôi XAML.
‫Chúng ta sẽ cần viết một số mã vì như tôi đã nói, nó phải được thực hiện trong quá trình khởi tạo hoặc trong
‫hàm tạo.
‫Và trong trường hợp của chúng tôi, nó nằm trong hàm tạo của cửa sổ chính và chúng tôi tiếp tục sử dụng nó cho ràng buộc một
‫lần.
‫Vì vậy, tôi sẽ truy cập thanh trượt của mình và tôi sẽ đặt giá trị thành, giả sử là 30.
‫Bây giờ tôi muốn truy cập hộp văn bản.
‫Và như bạn có thể thấy, chúng ta chỉ cần truy cập thanh trượt này tại đây vì nó có tên và nằm trong cùng một lớp
‫nên chúng ta có thể truy cập ngay vào nó.
‫Nhưng bây giờ hộp văn bản vẫn chưa có tên, vì vậy tôi sẽ đặt cho nó một cái tên
‫sẽ là hộp văn bản của tôi.
‫Và bây giờ chúng ta có thể tiếp tục và truy cập hộp văn bản này.
‫Hộp văn bản của tôi, văn bản dấu chấm phải là dấu chấm giá trị thanh trượt của tôi chấm thành chuỗi.
‫Vì vậy, bây giờ giá trị của thanh trượt khi bắt đầu sẽ là 30 và văn bản của hộp văn bản sẽ là giá trị
‫của thanh trượt dưới dạng một chuỗi.
‫Mà cũng sẽ là 30.
‫Nhưng không phải chúng tôi đã sửa tốt, chúng tôi đã sửa giá trị của thanh trượt và văn bản ở đây cũng được đặt một
‫lần.
‫Vì vậy, đó là chế độ một lần ở đây.
‫Như bạn có thể thấy, nếu tôi thay đổi thanh trượt bây giờ, văn bản của chúng ta sẽ không thay đổi.
‫Nếu tôi đã thêm một giá trị, nếu tôi thay đổi giá trị thành 25, thì cũng không có gì thay đổi.
‫Vì vậy, chúng ta hãy xem xét thêm một cái gì đó có thể thú vị đối với bạn.
‫Vì vậy, bây giờ tôi muốn nó thay đổi theo hai cách, nhưng tôi cũng muốn nó thay đổi mà tôi không cần phải nhấn tab.
‫Và đó là thứ được kích hoạt nếu chúng ta sử dụng cách tiếp cận sau.
‫Vì vậy, tôi sẽ thêm một cái gì đó vào ràng buộc dữ liệu của mình ở đây vì bạn có thể thấy có nhiều thuộc tính khác nhau
‫mà chúng tôi có thể truy cập.
‫Và cái mà tôi muốn sử dụng bây giờ là trình kích hoạt nguồn cập nhật.
‫Cái đó ở đây kích hoạt nguồn cập nhật.
‫Và như bạn có thể thấy ở đây, mặc định, mất tiêu điểm rõ ràng.
‫Điều thú vị đối với chúng tôi là tài sản này đã thay đổi.
‫Vì vậy, tôi muốn điều này được kích hoạt bất cứ khi nào thuộc tính được thay đổi.
‫Vì vậy, điều đó có nghĩa là bất cứ khi nào thanh trượt hoặc bất cứ khi nào văn bản được thay đổi.
‫Vì vậy, hãy chạy lại điều này.
‫Bây giờ hãy nhớ rằng, chúng tôi đang sử dụng hai cách một lần nữa và tôi đặt nó ở mức 30 hoặc 30 khi bắt đầu.
‫Vì vậy, nó không bận tâm.
‫Tất nhiên chúng ta vẫn có thể sử dụng nó ở chế độ hai chiều.
‫Nhưng bây giờ nếu tôi, giả sử, thay đổi nó thành 25 hoặc thậm chí trong khi tôi đang nhập, vì vậy tôi đang gõ một
‫cái gì đó như năm, năm, thậm chí năm đã được xem xét hoặc đang thay đổi điều gì đó.
‫Vì vậy, nếu tôi thêm một giá trị cao hơn 100, vì vậy giả sử tôi đang cố thêm 555, bạn sẽ thấy rằng giá trị đó đi
‫đến giá trị lớn nhất, là 100.
‫Vì vậy, nếu tôi ổn nếu tôi chơi với nó, bạn có thể thấy nó thay đổi trực tiếp.
‫Và đó là bởi vì chúng tôi có thông tin bổ sung này ở đây cho biết thay đổi thuộc tính kích hoạt nguồn cập
‫nhật.
‫Vì vậy, bất cứ khi nào tài sản của chúng tôi.
‫Nhưng hộp văn bản, là thuộc tính văn bản thay đổi, đó là khi trình kích hoạt nguồn cập nhật này sẽ được
‫thực thi.
‫Và sau đó toàn bộ văn bản này đang thay đổi thanh trượt của hộp văn bản, tất cả chúng đều đang thay đổi, được rồi.
‫Bởi vì họ bị ràng buộc, phải không?
‫Chúng ràng buộc với nhau theo hai cách.
‫Vì vậy, đó là một ví dụ chính về ràng buộc dữ liệu.
‫Còn rất nhiều điều cần biết về ràng buộc dữ liệu.
‫Chúng tôi vừa ràng buộc giá trị, nhưng bạn cũng có thể ràng buộc nhiều khía cạnh khác.
‫Vì vậy, ví dụ, ở đây bạn thấy đường dẫn là giá trị, nhưng bạn thấy đó là đường dẫn thuộc tính, nhưng còn rất nhiều thứ
‫khác.
‫Vì vậy, giả sử tôi muốn liên kết nền.
‫Vì vậy, giả sử nền của thanh trượt của tôi thay đổi và bạn thấy 005, v.v.
‫Đó là nền của thanh trượt và nền của thanh trượt rất tuyệt.
‫Vì vậy, nếu bây giờ tôi thay đổi nền của thanh trượt để giả sử như nước, đột nhiên giá trị của văn bản của tôi
‫là f01, f f, vì vậy đó là giá trị thập lục phân cho màu.
‫Aqua.
‫Nếu tôi thay đổi nó thành màu trắng, nó sẽ có nhiều FS.
‫Nếu tôi thay đổi nó thành màu đen, nó sẽ có rất nhiều số không.
‫Như bạn thấy đấy.
‫F.
‫Đó là giá trị alpha.
‫Và sau đó bạn có giá trị thập lục phân, 0, 0 0, v.v.
‫Vì vậy, đó là những gì bạn có thể làm với khai thác dữ liệu, không chỉ giá trị.
‫Bạn có thể ràng buộc khá nhiều tài sản mà họ chia sẻ với nhau.
‫Được rồi.
‫Vì vậy, tôi sẽ quay trở lại giá trị ở đây và để lưu dự án.
‫Vì vậy, tôi hy vọng bạn thích video này.
‫Trong video tiếp theo, chúng ta sẽ tiếp tục và thực hiện một số nội dung thú vị hơn với WPF.