我有两个单选按钮我需要使用程式化的弹出窗口并将ToolTipService添加到一个,修复Popup的功能(每个都有自己的样式)。
所以描述。我已经复制/粘贴了我们正在项目中其他地方使用的弹出窗口(也使用不同类型的单选按钮样式)并将它们放入我正在处理的按钮的样式中。我现在可以确定弹出窗口当前的位置,因为如果我将一个tooltipservice添加到样式中定义的边框,它会修复功能。 (如果我删除弹出标签并将其保留为网格,它也会显示出来。)
我能想到的最简单的解决方案是问这个问题。有没有办法使一个不可见/折叠的ToolTipService启用修复?
除非这是我正在使用的代码,也许有人可以回答真正的问题。为了您的观赏乐趣,它已经被砍掉了
<Style x:Key="VisualViewRadioButtonLeftStyle" TargetType="RadioButton" BasedOn="{StaticResource BaseLRRadioButtonStyle}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="grid">
<EasingDoubleKeyFrame KeyTime="0:0:.3" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:.5" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="1"/>
<EasingDoubleKeyFrame KeyTime="0:0:3.4" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid>
<Border x:Name="Normal1" >
<Image Source="picture" Style="{StaticResource VisualViewRadioButtonImageStyle}" />
</Border>
</Grid>
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="1" Visibility="Collapsed" />
<Popup Opacity="0" IsOpen="True" IsHitTestVisible="False" >
<Grid x:Name="grid" Opacity="0" IsHitTestVisible="False" >
<Path x:Name="path2" IsHitTestVisible="False" Data="M1.9999998,3.9790393E-13" UseLayoutRounding="False" >
</Path>
<TextBlock Text="Chart" IsHitTestVisible="False" />
</Grid>
</Popup>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如果我要将一个ToolTipService添加到名为“Normal1”的边框,它将修复此按钮及其下方的样式(它们彼此相邻)。
我也尝试重新定位我定义弹出窗口的位置。
然后将两个单选按钮添加到堆叠面板以显示它们。小代码部分如下。
<Grid>
<StackPanel>
<RadioButton GroupName="Tabs" x:Name="TopContent1" Style="{StaticResource VisualViewRadioButtonLeftStyle}" />
<RadioButton GroupName="Tabs" x:Name="TopContent2List" Style="{StaticResource VisualViewRadioButtonRightStyle}" />
</StackPanel>
<ContentPresenter x:Name="HeaderContent" Content="{Binding MainContentTopSelected}"/>
</Grid>