在Surface应用程序中克隆ScatterViewItem控件

时间:2015-02-05 12:00:50

标签: c# wpf pixelsense

我正在使用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吗?

1 个答案:

答案 0 :(得分:0)

您需要构建ScatterViewItem实例。如果您将Content设置为与PhotoPadSVI's相同,则它应该有效。

ScatterViewItem swi = new ScatterViewItem() { Content = PhotoPadSVI.Content };

如果仍有错误表明您无法将相同的项目添加到ScatterView,则必须从头开始,从代码中创建新的ScatterViewItem's Content,如果PhotoPadSVI's Content是一堆XAML代码,可能会复杂得多。

另请参阅this blog