私は、@ grek40の指示に従ってそれをしなかったし、それがうまく機能で説明したようにキャンバス内の要素を描画するアプリケーションをプログラムしました。
ここでは、キャンバスに描画された要素にツールチップを追加したいと思います(Borderクラスで表されるTasks要素のみ)。これは私のコードです:
<DataTemplate DataType="{x:Type local:TaskItem}">
<Border
Background="#0074D9"
BorderBrush="#001F3F"
BorderThickness="2"
Width="{Binding Width}"
Height="{Binding Height}">
<TextBlock
Text="{Binding Id}"
FontSize="20"
Foreground="White"
HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Border.ToolTip>
<ToolTip Background="#D5F0F0FF">
<StackPanel>
<TextBlock Text="Reading Suggestion" FontWeight="Bold"/>
<TextBlock Text="Charles Dickens" Margin="5"/>
</StackPanel>
</ToolTip>
</Border.ToolTip>
</Border>
</DataTemplate>
しかし、それは動作しません。タスク要素(罫線項目)をホバーすると何も起こりません。どのようなアイデアが間違っている?
UPDATE
グリッド(X:NAME = "GRID1")はズーミング及びパディング処理カスタムコントロールに含まれています。 this post in codeplexの後に実装しました(私は 'Simple Sample Code'に従いました)。
だから私のXAMLは、次のようになります。
<ScrollViewer
x:Name="scroller"
CanContentScroll="True"
VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Visible"
>
<!--
This is the control that handles zooming and panning.
-->
<ZoomAndPan:ZoomAndPanControl
x:Name="zoomAndPanControl"
Background="LightGray"
MouseDown="zoomAndPanControl_MouseDown"
MouseUp="zoomAndPanControl_MouseUp"
MouseMove="zoomAndPanControl_MouseMove"
MouseWheel="zoomAndPanControl_MouseWheel"
>
<!--
This Canvas is the content that is displayed by the ZoomAndPanControl.
Width and Height determine the size of the content.
-->
<Grid x:Name="grid1">
<ItemsControl x:Name="content"
ItemsSource="{Binding TaskItems}"
ItemContainerStyle="{StaticResource canvasTaskItemStyle}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas
Background="White"
Height="2000"
Width="2000"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<ItemsControl x:Name="contentLines"
ItemsSource="{Binding TaskLineItems}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas
Background="Transparent"
Height="2000"
Width="2000"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
</ZoomAndPan:ZoomAndPanControl>
</ScrollViewer>
は多分、ツールチップに干渉ZoomAndPanControlのコマンドはありますか?
よろしいですか?私はちょうど私の例にツールヒントをマージし、問題なく表示されます。おそらくあなたのプロジェクトの他の部分が干渉しているのでしょうか? – grek40
これは、ズームとパンを処理するカスタムコントロールの中にコードがあるためです。私はそれに関する情報を投稿に更新しました。ありがとう – chincheta73