Tôi có một buttonStyle đơn giản được xác định cho TargetType
của Button
; nhưng thiết lập kiểu cho nút mang lại một ngoại lệ.TargetType không khớp với loại phần tử
<Window>
<Window.Resources>
<Style x:Key="buttonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Magenta"/>
</Style>
</Window.Resources>
<StackPanel Orientation="Horizontal">
<Button Content="1" FocusVisualStyle="{StaticResource buttonStyle}"/>
</StackPanel>
</Window>
thông tin bổ sung: 'Button' TargetType không phù hợp với loại yếu tố 'kiểm soát'.
Hơn nữa, thiết lập các TargetType
như Control
loại bỏ các lỗi thời gian chạy, nhưng hình ảnh chiếc khuy áo không thay đổi khi nó được Focus
.
Phong cách hoạt động khi thiết lập như Button.Style
Sửa Tôi có hai câu hỏi cụ thể:
Tôi đồng ý với thực tế là
FocusVisualStyle
là một tài sản củaFrameworkElement
vàFrameworkContentElement
, nhưng tại sao có lỗi khi đặt nút trên nút, de mặc dù thực tế là Style là namedstyle và không phải là typedstyle?Tại sao
FocusVisualStyle
không được hiển thị trênButton
? Có phải nội dung được ghi đè trong nội bộ làButton.FocusVisualStyle
bởi bất kỳ giá trị ưu tiên cao hơn nào như Mẫu, Trình kích hoạt hoặc Trình kích hoạt mẫu không?
Tôi đồng ý, nhưng khi nút được tập trung, phong cách của nó doesn không thay đổi. Hay tôi có khái niệm sai? – Marshal
Để làm rõ, 'FocusVisualStyle' không thể ảnh hưởng đến kiểu của' Nút'. Nó chỉ thêm vào kiểu hiện có của 'Nút'. Vấn đề bạn đang gặp phải là bạn đang cố gắng đặt kiểu 'Nút' thành' FocusVisualStyle' chỉ chấp nhận kiểu 'Điều khiển'. Tôi hy vọng tôi đã giải thích đủ. –
Nó không hoạt động đối với tôi trong một thời gian khi tôi đã thiết lập cùng một thuộc tính của phong cách phù hợp cho điều khiển nút. Giá trị thuộc tính nội dòng được ghi đè những gì được đặt bởi trình kích hoạt kiểu "buttonStyle". Câu trả lời ngọt ngào! – RBT