我已经在按钮鼠标悬停上放置了一个弹出窗口.每当我将鼠标悬停在该按钮上时,我的自定义设计弹出窗口就会完美显示.但是它并没有完美地指向按钮.怎么这样..?
现在我的弹出窗口看起来像
现在我的弹出窗口看起来像
我希望箭头标记指向帮助按钮如何实现它..
这是我在xaml中按钮和弹出窗口的代码
<telerik:RadButton Name="btnH" Grid.Column="1" HorizontalAlignment="Left" Margin="444,56,0" Grid.Row="2" VerticalAlignment="Top" Width="23" Height="23" BorderThickness="6" BorderBrush="#4E4E4E"> <Image Source="Images/help.png" /> <telerik:RadButton.Triggers> <EventTrigger RoutedEvent="MouseEnter"> <BeginStoryboard> <Storyboard TargetName="TooltipPopup" TargetProperty="IsOpen"> <BooleanAnimationUsingKeyFrames FillBehavior="HoldEnd"> <discreteBooleanKeyFrame KeyTime="00:00:00" Value="True" /> </BooleanAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger>
以下是自定义usercontrol xaml,它在弹出窗口中调用
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="WPFTest.UCToolTip" mc:Ignorable="d" Height="231.493" Width="362.075" Background="Transparent" > <UserControl.Resources> <Style targettype="{x:Type Hyperlink}"> <Setter Property="TextBlock.Textdecorations" Value="{x:Null}" /> </Style> </UserControl.Resources> <Grid Margin="10,0"> <Grid.RowDeFinitions> <RowDeFinition/> <RowDeFinition Height="Auto"/> </Grid.RowDeFinitions> <Grid Background="red" Margin="0,182,133"> </Grid> <polygon Points="0.5,0 15,30" stroke="Orange" Fill="Orange" Margin="0,98,101" /> </Grid>
解决方法
将此样式用于弹出窗口:
<Style targettype="Popup"> <Style.Triggers> <Trigger Property="IsOpen" Value="true"> <Setter Property="PlacementTarget" Value="{Binding ElementName=btnH }" /> <Setter Property="Placement" Value="Top" /> <Setter Property="VerticalOffset" Value="-5" /> <Setter Property="HorizontalOffset" Value="5" /> </Trigger> </Style.Triggers> </Style>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。