我正在使用Surface 2.0 SDK处理Windows多点触控应用程序。 我需要"克隆"一个控件,在这个特定情况下是一个ScatterViewItem,我在其中添加了一个带有" CopyButton"的ElementMenu。使用Click事件处理程序。 这是我的ScatterViewItem:
<s:ScatterViewItem x:Name="PhotoPadSVI" MinWidth="296" Background="Transparent" Style="{StaticResource ScatterViewItemStyle}">......</ScatterViewItem>
这是我使用的代码并且不起作用:
void DocumentDuplicate_Click(object sender, RoutedEventArgs e)
{
ScatterViewItem swi = PhotoPadSVI; //error is already here cause I set it as the same, but I cannot found a ".Clone()" like method
swi.Visibility = System.Windows.Visibility.Visible;
swi.ZIndex = 100;
swi.VerticalAlignment = System.Windows.VerticalAlignment.Bottom;
//sView.Items.Add(swi); cannot add to ScatterView cause swi is equal to PhotoPadSVI
}
问题:您知道我可以通过哪种方式复制ScatterViewItem吗?
答案 0 :(得分:0)
您需要构建ScatterViewItem
的新实例。如果您将Content
设置为与PhotoPadSVI's
相同,则它应该有效。
ScatterViewItem swi = new ScatterViewItem() { Content = PhotoPadSVI.Content };
如果仍有错误表明您无法将相同的项目添加到ScatterView
,则必须从头开始,从代码中创建新的ScatterViewItem's
Content
,如果PhotoPadSVI's
Content
是一堆XAML代码,可能会复杂得多。
另请参阅this blog。