0

ScatterViewItemを動的に追加するので、ドキュメントに従って追加するときにScatterViewItemを1つにラップする必要があるため、特にScatterViewItemを作成していないことに注意してください。

VideosProducts videosProducts = VideosProducts.GetVideoProductsControl();
videosProducts.Name = "VideosProducts";
main.Items.Add(videosProducts);
ScatterViewItem item = main.ItemContainerGenerator.ContainerFromItem(videosProducts) as ScatterViewItem;
item.ApplyTemplate();
item.Background = new SolidColorBrush(Colors.Transparent);
item.ShowsActivationEffects = false;
item.Center = new Point(430, 820);
SurfaceShadowChrome ssc = item.Template.FindName("shadow", item) as SurfaceShadowChrome;
ssc.Visibility = Visibility.Hidden;

しかし今、私がそれらを次のように削除しようとすると:

Window window = Application.Current.Windows.Cast<Window>().SingleOrDefault(x => x.IsActive);
ScatterView main = UIHelper.FindChild<ScatterView>(window, "MainScatterView");
List<ScatterViewItem> svItems = main.Items.Cast<ScatterViewItem>().Where(svi => svi.Name != "MenuControl").ToList();

無効なキャスト例外が発生します。何が得られますか?これらのアイテムはScatterViewItemsとして追加されたと思いましたか?

4

1 に答える 1

1

ItemContainerGenerator.ContainerFromItem2番目のコードの各項目には、上記のコードと同じメカニズムを使用します。

于 2012-11-20T13:23:08.350 に答える