残念ながら、これを行う簡単な方法はありません。理想的には、FrameworkElement に ToolTipService.InitialShowDelay を設定し、そこから伝播させますが、うまくいかないようです。
代わりに、設定したい各タイプのコントロールに設定できます。たとえば、次のようになります。
<Style TargetType="RibbonButton">
<Setter Property="ToolTipService.InitialShowDelay" Value="2000"/>
</Style>
<Style TargetType="RibbonToggleButton">
<Setter Property="ToolTipService.InitialShowDelay" Value="2000"/>
</Style>
<Style TargetType="RibbonDropDownButton">
<Setter Property="ToolTipService.InitialShowDelay" Value="2000"/>
</Style>
等
これは非常に冗長な方法ですが、少なくともすべてのコントロール自体ではなく、各タイプのコントロールに設定するだけで済みます。リボンで使用している場合は、開始するコントロールはほんの一握りです。と。
値を変更したい場合に備えて、リソース値を使用して上記のコードを設計することをお勧めします。
<sys:Int32 x:Key="ToolTipInitialShowDelay">2000</sys:Int32>
<Style TargetType="RibbonButton">
<Setter Property="ToolTipService.InitialShowDelay"
Value="{StaticResource ToolTipInitialShowDelay}"/>
</Style>
<Style TargetType="RibbonToggleButton">
<Setter Property="ToolTipService.InitialShowDelay"
Value="{StaticResource ToolTipInitialShowDelay}"/>
</Style>
<Style TargetType="RibbonDropDownButton">
<Setter Property="ToolTipService.InitialShowDelay"
Value="{StaticResource ToolTipInitialShowDelay}"/>
</Style>
または、BasedOn スタイルをまだ使用していない場合は、次のように短縮できます。
<Style x:Key="ToolTipDefaults">
<Setter Property="ToolTipService.InitialShowDelay" Value="2000"/>
</Style>
<Style TargetType="RibbonButton" BasedOn="{StaticResource ToolTipDefaults}"/>
<Style TargetType="RibbonToggleButton" BasedOn="{StaticResource ToolTipDefaults}"/>
<Style TargetType="RibbonDropDownButton" BasedOn="{StaticResource ToolTipDefaults}"/>
このアプローチの制限は、スタイルは 1 つの親スタイルにしか基づくことができないため、既にこのパターンを使用している場合、これを行うことはできません。