Tôi có một lớp bắt nguồn từ thanh trượt sử dụng mẫu điều khiển tùy chỉnh và có thêm một vài thuộc tính phụ thuộc. Tôi muốn kích hoạt các trình kích hoạt trong khuôn mẫu dựa trên các thuộc tính mới.Cách sử dụng thuộc tính tùy chỉnh trong trình kích hoạt ControlTemplate
Ví dụ, tôi có một thuộc tính phụ thuộc mới được gọi là ThumbIsVisible mà khi được đặt thành false Tôi chỉ muốn phần ngón tay cái của thanh trượt của tôi là hiddin. mẫu kiểm soát của tôi trông giống như:
<Slider.Template>
<ControlTemplate TargetType="{x:Type Slider}">
...
<Track.Thumb>
<Thumb x:Name="m_Thumb" Style="{StaticResource SliderThumbStyle}" />
...
Tôi muốn thêm vào một kích hoạt mà trông giống như:
<ControlTempate.Trigger>
<Trigger Property="ThumbIsVisible" Value="False">
<Setter TargetName="m_Thumb" Property="Visibility" Value="Collapsed" />
Ngay lập tức tôi có thể thấy điều này sẽ không làm việc như tôi có của tempate kiểm soát loại mục tiêu được đặt thành Thanh trượt. Tuy nhiên, nếu tôi thay đổi điều đó để nói:
<ControlTemplate TargetType="{x:Type local:myCustomSlider}">
thì tôi gặp sự cố với loại mẫu khác với điều khiển. Cách duy nhất xung quanh việc này là tạo xaml bằng cách sử dụng local: myCustomSlider làm kiểu thay vì Slider. Tuy nhiên, làm điều này gây ra rất nhiều vấn đề với thiết kế và mã của VisualStudio.
Có ai biết nếu có một cách tiêu chuẩn để vượt qua tất cả những điều này? Để giải quyết vấn đề này, tôi đã thử thêm vào trình kích hoạt của mẫu thông qua mã-đằng sau nhưng không thể làm việc đó.
Thêm giải pháp làm câu trả lời và chấp nhận giải pháp để điều này không nằm xung quanh như chưa được trả lời. – kevev22
Tôi sẽ ngay sau khi tôi nhận được 100 danh tiếng hoặc giới hạn tự trả lời mới của người mới 8 giờ của tôi đã hết. – BruceLH