Wpf 当我绑定工具提示时';将内容转换为父元素的内容,它将从父元素中取出内容
我有一个ToggleButton,我希望它有一个工具提示,显示与按钮相同的内容。我可以成功设置按钮上的工具提示以使用按钮的内容。ToggleButton实例的XAML和工具提示如下:Wpf 当我绑定工具提示时';将内容转换为父元素的内容,它将从父元素中取出内容,wpf,xaml,Wpf,Xaml,我有一个ToggleButton,我希望它有一个工具提示,显示与按钮相同的内容。我可以成功设置按钮上的工具提示以使用按钮的内容。ToggleButton实例的XAML和工具提示如下: <ToggleButton Name="toggleButton" IsTabStop="False" Background="{TemplateBinding Background}" BorderBrush="{Tem
<ToggleButton Name="toggleButton" IsTabStop="False"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Template="{StaticResource MultiSelectComboBoxToggleButtonTemplate}"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsDropDownOpen, Mode=TwoWay}"
ToolTip="{Binding ElementName=toggleButton, Path=Content}"
>
按钮的模板如下所示:
<ControlTemplate x:Key="MultiSelectComboBoxToggleButtonTemplate" TargetType="{x:Type ToggleButton}">
<Border BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
SnapsToDevicePixels="true">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ContentPresenter Content="{TemplateBinding Content}"/>
<Border Name="arrowBorder" Grid.Column="1" Width="16" BorderBrush="{TemplateBinding BorderBrush}">
<Path HorizontalAlignment="Center" VerticalAlignment="Center"
Fill="{TemplateBinding BorderBrush}" Data="M 0 0 L 7 0 L 3.5 4 Z" />
</Border>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="arrowBorder" Property="Background" Value="{StaticResource ActiveButtonBrush}" />
<Setter TargetName="arrowBorder" Property="BorderThickness" Value="1,0,0,0" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="arrowBorder" Property="Background" Value="{StaticResource ActiveButtonBrush}" />
<Setter TargetName="arrowBorder" Property="BorderThickness" Value="1,0,0,0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
MyToolTip控件绑定到父ToggleButton的内容属性。绑定工作正常。当您开始使用控件时,按钮将按其应有的方式显示其内容:
但是,当您将鼠标悬停在按钮上以激活工具提示时,工具提示将显示内容,而按钮将丢失其内容:
在应用程序中使用控件的其余时间内,按钮内容不会显示,尽管工具提示仍按预期工作
为什么会发生这种情况?我希望能够同时在这两个位置显示内容。发布完整的组合框模板。这很有趣,对于咯咯笑来说,如果你刚刚做了
ToolTip=“{Binding content,RelativeSource={RelativeSource Self}”
或者如果它只是显示文本,这将在TextBlock中呈现,只要ToolTip=“{Binding Text,RelativeSource={RelativeSource Self}}”