0

私はこのようなことをしたい-

ここに画像の説明を入力してください

コールアウトの中央は、リストビューアイテムの中央と一致している必要があります。リストビューアイテムの中央の実際の座標を見つけて、パス要素にすぎないコールアウトを整列させるにはどうすればよいですか?

4

1 に答える 1

1

あなたはこのようなことをしなければならないでしょう:

ListViewの選択変更イベントのハンドラーを作成します。そのハンドルに次のコードを入れます:

// step 1. Get selected item's container (ListViewItem in case of ListView)
var dependencyObject = listView.ItemContainerGenerator.ContainerFromIndex(listView.SelectedIndex);
var listViewItem = dependencyObject as Windows.UI.Xaml.Controls.ListViewItem;

// step 2. transform items rectangle into coordinates of containing control
var transform = listViewItem.TransformToVisual(parentContainer);
var rect = transform.TransformBounds(new Rect(0, 0, itemsControl.ActualWidth, itemsControl.ActualHeight));
var center = (rect.Top + rect.Bottom) / 2;

// step 3. position callout using center value calculated above
// exact code depends on you container, ie. Grid, Canvas, etc. 
于 2012-12-20T23:08:45.120 に答える