File.Copy(filename,dest )
你往C盘复制文件可能需要管理员权限
1.这个需要手动吧?给个复制的按钮.然后在内存表中做 *** 作,再复制给你需要粘贴的datagrid.2.如果你想把内容写到剪切板中,那还要规范数据类型和格式,那个就比较麻烦了.
我不知道你想要的效果是前者还是后者?
使用 XamlReader 和 XamlWrite 是可以复用一个 UIElement.但在保存时最好指定 xmlns. 另外, 如果将要复用的 UIElement (例如 Canvas) 定义为一种 Resource, 则只能添加一次,否则,出现:
Specified Visual is already a child of another Visual or the root of a CompositionTarget.
这种错误.
但我给个方便的例子,不用 xaml Reader/Writer 来完成对 UIElement 或 FrameworkElement 的复制/重用:
楼主是用 Canvas, 然后在 Canvas 里放一些矢量图(其实放什么不重要),然后显示 200 个这样的 Canvas, 那好,将这个 原始的 Canvas 定义为一种资源:
<Window .........> // 这里省略号表示省略了一些内容(例如 xmlns)
<Window.Resources>
<ControlTemplate x:Key="myCanvas">
<Canvas>
<Image Source="abc.png"/>
<!-- 这里不知道楼主是怎么写的,但不重要,因为它是 Canvas 的子元素 -->
</Canvas>
</ControlTemplate>
</Window.Resources>
<Grid x:Name="LayoutRoot">
<!-- 我们要在这个 Grid 放置 200 个 定义在资源中的 Canvas -->
</Grid>
</Window>
下面是后台的逻辑 code:
怎么触发自己设置
void Display200Canvas()
{
for(int i=0i<200i++)
{
Control ctrl=new Control()
ctrl.Template = Window.Resources["myCanvas"] As ControlTemplate
// 这里设置一下 ctrl 的位置, 不要重叠就可以了,怎么设置就略去了
// .....
LayoutRoot.Children.Add(ctrl)
}
}
完成~
主要是利用 Control 控件加载 ControlTemplate, 而 这个 ControlTemplate 就是你所要显示的东西,它作为 xaml 中的 资源 定义在 ControlTemplate 元素中.
实际上这并不限是 Canvas.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)