1

私は次のものを持っています:

Window window = Application.Current.Windows.Cast<Window>().SingleOrDefault(x => x.IsActive);
ScatterView main = UIHelper.FindChild<ScatterView>(window, "MainScatterView");
        main.Items.Add(type);

//Neither of these work
ScatterViewItem parent = (ScatterViewItem)main.ContainerFromElement(type);

ScatterViewItem parent = UIHelper.FindVisualParent<ScatterViewItem>(type);

ドキュメントには次のように記載されています。ScatterViewItemタイプではないオブジェクトを追加すると、ScatterViewコントロールは最初にオブジェクトをScatterViewItemコントロールでラップしてから、コレクション http://msdn.microsoft.com/en-us/library/microsoftに追加します。 .surface.presentation.controls.scatterviewitem.aspx

ラップされたscatterviewitemをどのように取得しますか?

4

1 に答える 1

2

他のすべてのItemsControlと同様に、ScatterViewはItemContainerGeneratorによってアイテムコンテナを作成および管理します。これは、特定のアイテムのコンテナを取得するメソッド、または特定のコンテナのアイテムを取得するメソッドを提供します。

ScatterView scatterView = ...
object item = ...
ScatterViewItem scatterViewItem =
    scatterView.ItemContainerGenerator.ContainerFromItem(item) as ScatterViewItem;

また

ScatterViewItem scatterViewItem = ...
object item = scatterView.ItemContainerGenerator.ItemFromContainer(scatterViewItem);
于 2012-11-07T22:42:12.243 に答える