效果图:
背景:popup是跟随一个button进行联动,button里边样式中包含文字和图标,当文字不是固定的时候,按钮的大小是会改变的,导致popup打开的位置不能够每次都在相对button
固定方向展示。
解决方法:添加转换器处理popup的HorizontalOffset。
设置HorizontalOffset="{Binding ElementName=btnTargetText,Path=ActualWidth,Converter={StaticResource PopupOffsetWidthCustomConverter},ConverterParameter=400}"
1、ElementName=btnTargetText,这个是popup的PlacementTarget绑定的控件
2、由于button中的文字是动态变化的,所以要使用Path=ActualWidth,使用width在转换器获取不到传入的值。
3、ConverterParameter=400为自定义的一个偏移量,正常状态下,按钮不输入文字,popup在按钮底部弹出,先试一下设置HorizontalOf