Tôi có một hình thức WPF mà về cơ bản trông như thế này:yếu tố Ẩn WPF trong Visual Studio thiết kế
<Window ...>
<Grid>
<DockPanel>
[content shown during normal operation]
</DockPanel>
<Grid Background="#CCCC" Visibility="Hidden">
[overlay grid which is only shown during special circumstances]
</Grid>
</Grid>
</Window>
Lưới che phủ giấu mọi thứ khác (tức là "nội dung bình thường") và chỉ được thể hiện trong những trường hợp đặc biệt (tức là nếu kết nối mạng bị ngắt). Điều này hoạt động hoàn toàn tốt khi chạy chương trình.
Hiện tại, ở chế độ thiết kế, vấn đề là Visual Studio bỏ qua Visibility="Hidden"
. Thông thường, điều này làm cho cảm giác hoàn hảo (sau khi tất cả, tôi muốn có thể chỉnh sửa các yếu tố UI ẩn), nhưng trong trường hợp của tôi nó gây phiền nhiễu, bởi vì nó ngăn cản tôi chỉnh sửa các công cụ trong DockPanel trong thiết kế.
Vì vậy, những gì tôi muốn làm là một cái gì đó như thế:
<Grid Background="#CCCC" Visibility="Hidden" VS.ShowInDesigner="False">
[overlay grid which is only shown during special circumstances]
</Grid>
Nhưng, than ôi, không có tài sản đó, hoặc ít nhất là không có mà tôi biết. Bất kỳ ý tưởng?
Tôi đang đi về một giải pháp theo một cách khác nhau trong đó tôi đang cố gắng tìm ra cách TabControl đạt được điều này. Với TabControl, bạn có thể thiết lập một tab cụ thể được chọn nhưng bên trong trình thiết kế, nó sẽ bỏ qua điều này nếu bạn đặt con trỏ trong mã cho một trong các tab hoặc trên các tab thực trong trình thiết kế và thay vào đó hiển thị tab được chọn theo thời gian thiết kế . Tôi nghĩ rằng điều khiển Popup nên làm việc theo cùng một cách và tôi đang làm việc trên một cái gì đó tương tự như kiểm soát Childlight Childlighting mà sẽ cho tôi loại hành vi thời gian thiết kế. – jpierson