Tôi có ListBox hiển thị dữ liệu về nhân viên như tên, ảnh bộ phận, số huy hiệu, v.v. Nhân viên có thể có các loại khác nhau như Người quản lý, Nhân viên, Tình nguyện viên. Tôi có 3 mẫu dữ liệu riêng biệt - một cho mỗi loại. Tất cả các mẫu này hiển thị cơ bản cùng một dữ liệu nhưng được trình bày khác nhau.WPF - Tham số cho DataTemplates?
Tùy thuộc vào người dùng đăng nhập vào hình ảnh ứng dụng, Số hiệu huy hiệu, v.v., có thể hoặc không thể hiển thị. Vì vậy, tôi có thuộc tính boolean cho rằng - CanSeePhotos, CanSeeBadgeNumbers, vv Vì vậy, nếu CanSeePhotos == sai, tất cả các mẫu dữ liệu nên ẩn các bức ảnh.
Câu hỏi của tôi là, làm cách nào tôi có thể sử dụng các thuộc tính boolean này bên trong mẫu dữ liệu của mình để chuyển đổi chế độ hiển thị của các mục thích hợp? Có cách nào để chuyển các tham số vào mẫu dữ liệu khi tôi trả về chúng từ TemplateSelector của tôi không?
Cảm ơn!
chỉnh sửa: sau ý tưởng của Ray tôi đã kết thúc làm điều này:
Visibility="{Binding Source={x:Static local:Global.CanSeePhoto}, Converter={StaticResource BooleanToVisibilityConverter}}"
Nếu CanSeeBadgeNumber của bạn không phải là thuộc tính của dữ liệu nhưng môi trường bạn có thể phải thêm một thứ gì đó như Source = "{x: Static UserInfo.CurrentUser}" vào liên kết của bạn. Điều này là giống nhau cho dù bạn sử dụng trình kích hoạt hoặc trình chuyển đổi. –
Biểu thức trong các ràng buộc XAML! Tôi đã chờ đợi điều đó trong một thời gian dài - thực sự nhớ nó từ ngày Flex của tôi. Hãy chờ đón nó nhé! – Grokys
Vì vậy, bạn đã bao giờ phát hành nó? – BrainSlugs83