Как определить стиль всплывающей подсказки по умолчанию для всех элементов управления - PullRequest
0 голосов
/ 01 декабря 2010

Я хотел бы определить стиль с шаблоном, когда есть ошибки проверки и будет отображаться первое сообщение об ошибке в виде всплывающей подсказки.

Отлично работает при нацеливании на определенный элемент управления, такой как DatePicker, в следующем xaml.

<Style TargetType="{x:Type ToolKit:DatePicker}">
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="ToolTip" 
                    Value="{Binding RelativeSource={RelativeSource Self},
                    Path=(Validation.Errors)[0].ErrorContent}"/>
        </Trigger>
    </Style.Triggers>
</Style>

Я не могу заставить его работать на Control, хотя следующее не дает никакой подсказки

<Style TargetType="{x:Type ToolKit:Control}">
    <Style.Triggers>
        <Trigger Property="Validation.HasError" Value="true">
            <Setter Property="ToolTip" 
                    Value="{Binding RelativeSource={RelativeSource Self},
                    Path=(Validation.Errors)[0].ErrorContent}"/>
        </Trigger>
    </Style.Triggers>
</Style>

Есть идеи?

1 Ответ

1 голос
/ 31 декабря 2010

Я бы порекомендовал вам создать Behavior для этого.

Каждый элемент управления сам по себе уникален, и это ненадежный способ привязать определенное поведение ко всем элементам управления. И на самом деле, вы можете в конечном итоге установить это свойство для нежелательных элементов управления, которые даже не требуют проверки.

Behaviors чистые, и вы можете назначить их только выбранным элементам управления. Attached Properties или Master Behavior можно использовать для назначения Behaviors дочерним элементам управления.

Вот статья CodeProject от Джоша Смита , с которой вы можете начать Behaviors.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...