Câu hỏi này gây lỗi cho tôi từ một thời gian dài: Tôi có thể có điều kiện đúng nếu nhà thiết kế Visual Studio đang thực hiện và sai khác không?Visual Studio: Điều kiện "if (InDesigner)"
Ví dụ (WPF), tôi muốn sử dụng một bộ chuyển đổi BoolToVisibilityConverter đặc biệt để ràng buộc thuộc tính hiển thị của một số điều khiển với con chuột nằm ngoài kiểm soát đó. Tôi thực hiện điều này bằng mã XAML sau:
<Image Width="50" Height="50" Source="../Images/MB_0010_tasks.ico" Margin="12,133,133,12" MouseLeftButtonUp="Image_MouseLeftButtonUp"
Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Grid}}, Path=IsMouseOver, Converter={StaticResource __boolToVisibilityConverter}}" />
Điều này dẫn đến các thành phần không hiển thị trong chế độ xem thiết kế của Visual Studio. Có cách nào để nói với một cái gì đó chuyển đổi như thế này:
#if DESIGNER
return Visibility.Visible;
#endif
return b ? Visibility.Visible : Visibility.Hidden;
trình như một nét duyên dáng, đặc biệt trong BoolToVisibilityConverters của tôi. Cảm ơn rất nhiều! – Akku
+1! Cuối cùng, cái gì đó hoạt động! GetIsInDesignMode bắt đầu trả về false nhưng lần kiểm tra cuối cùng của bạn đã thực hiện thủ thuật, cảm ơn bạn! –