Border 自身没有 Left 属性, 要描述一个 border 相对于它父窗口(Parent container) 的偏移量, 可以通过其 Margin 属性描述(Margin 是 一个 Thickness 类型的变量), 或通过父容器的附加属性来描述(例如 Canvas.left).
并非所有父容器都提供位置偏移支持, 因此, 使用 margin 来表示其位置偏移是比较好的, 下面是一个例子 (保存为一份 xaml 文档, 在 ie 中打开即可, 例子中, 单击按钮产生 上偏移的动画, 点击铵钮右键产生左偏移动画):
当然, 如果父容器提供了位置偏移的附加属性, 也可以利用(如 Canvas 提供了 Left, Top 等来描述其子元素的位置偏移), 下面也是一个例子(保存为 xaml 文档, 在 ie 中打开也可以了, 例子中, 单击按钮产生 上偏移的动画, 点击铵钮右键产生左偏移动画):
-------------
至于另一个需求 --- 需要 C# 代码, 其实也不难实现, 设置 Margin 的话, 直接就是 bdr.Margin=new Thickness(......)
设置 Canvas.Left 附加属性的就是 bdr.SetValue(Canvas.LeftProperty, yourNewValue);
适当将 xaml 的内容转换为 C# 就可以了
WPF的控件分几种,要根据情况来删除。
如果是Border中的控件要被删除,需要将Border.Child设置为null——因为Border这类控件内部只能容纳一个内嵌控件。
而如果是Grid/StackPanel/DockPanel/Canvas等面板,因为这类控件内部可以同时嵌入多个子级控件,因此,要删除其中的子级控件得用类似Grid.Children.RemoveAt()或RemoveAt()这类的办法。
而TabControl之类的Item容器则需要调用类似tabControl.Items.Remove()或RemoveAt()之类的方法才能删除一个Tab页。
================================
——总之,要删除某个控件,需要先看看它在什么样的容器控件中,然后调用相应的方法。