为什么包含TooltipService的样式中的Popup不能正常工作?

时间:2011-08-12 18:55:39

标签: silverlight xaml popup tooltip styles

我有两个单选按钮我需要使用程式化的弹出窗口并将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>

0 个答案:

没有答案