1

こんにちは、助けてくれてありがとう。階層データ テンプレートを入力しているツリービューがあり、現在、下のノードには、マウスが置かれているアイテムに固有のデータが入力された小さなスタック パネルを生成するツールチップがあります。ツールチップにもボタンがありますが、マウスが上に移動してもツールチップが保持されないため、必要なようにボタンを使用できません。私のxamlは次のようになります:

<!--===========================  Hierarchical Data template  for tree view -->
                        <!--template for bottom nodes-->
                        <sdk:HierarchicalDataTemplate x:Key="ModTemplate" ItemsSource="{Binding ApplicationModules}">
                            <StackPanel Orientation="Horizontal" >                            <!--======tooltip style to handle format for callout window============-->
                                <ToolTipService.ToolTip>
                                    <ToolTip  HorizontalOffset="0" VerticalOffset="0" Style="{StaticResource ModuleToolTipStyle}">

                                        <StackPanel Width="150" Height="auto" >
                             <TextBlock Text="Module Info" FontWeight="Bold" TextAlignment="Center"/>
                                            <TextBlock Text="Module State:" FontWeight="Bold" />
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleState}" />
                                            <TextBlock Text="Module Start Time:" FontWeight="Bold" />
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleStartTime}"/>
                                            <TextBlock Text="Module Down Time:" FontWeight="Bold"/>
                                            <TextBlock Text="{Binding Path=ModInfo.ModuleDownTime}" />
                                            <Button Content="More Info" Width="75"></Button>
                                        </StackPanel>

                                    </ToolTip>
                                </ToolTipService.ToolTip>
               <!--============end tooltip style for callout window===================-->

                                <ContentPresenter Margin="0 0 4 0" Content="{Binding Icon}" />
                                <TextBlock FontStyle="Italic" Text="{Binding Path=ModuleName}" />
                            </StackPanel>
                        </sdk:HierarchicalDataTemplate>

ボタンにイベントを配線できるように、マウスが上に移動したときにツールチップが持続するようにしたいと思います。どうすればこれを達成できますか?助けてくれてありがとう。

4

1 に答える 1

1

私が知っている目標を達成するためのいくつかのオプションがあります。コードプレックスのSilverlight Advanced Tooltipsプロジェクトをチェックしてみてください (ただし、私は個人的には使用していないため、レビューはできません)。

または、創造性を働かせて独自のものを作成することもできます。それが私だったら、おそらくすべての混乱をスキップし、ToolTipService をすべて忘れて、自分でドレスアップするだけです。なぜなら、あなたが提供しているのは、ユーザーがツールチップに関して慣れているものではないからです。とにかく期待して、コールアウトまたはポップアウト機能にさらにクロスオーバーする必要があります。オプション#1がうまくいかない場合は、時間ができたらすぐに例を作ることができますが、うまくいくことを願っています. 基本的に、私の方法と私が提供したそのプロジェクト リンクの両方が同じことを行います。これは、MouseLeave イベントの後に接続先の遅延を提供し、ユーザーが消える前にアクセスできるようにすることです。次に、その可視性条件をそのオブジェクトに渡します。これが機能しない場合はお知らせください。XAML だけを使用した代替例を提供できます。

于 2012-08-16T20:08:17.657 に答える