我可能处于这种情况:在堆栈面板中我想添加一个分隔符然后按钮然后分隔符然后按钮等等... 除了某些字段之外,分隔符始终相同,按钮也是如此。 我无法使用相同的分隔符,因为控件只能是另一个控件的子代。所以我必须定义sep1 button1 sep2 button2 sep3 button3 ....
我喜欢的是(伪代码):
Sepator sep = new Separator();
按钮但= =新按钮();
StackPanel stp = new StackPanel();
stp.Add(new sepator()。Clone(sep));
stp.Add(new sepator()。Clone(Button {Content =" BT1"}));
stp.Add(new sepator()。Clone(sep));
stp.Add(new sepator()。Clone(Button {Content =" BT2"}));
...
克隆控件的唯一方法我发现谷歌搜索是:
MyControl copy = XamlReader.Parse(XamlWriter.Save(controlInstance)) as MyControl;
MyControl copy = XamlReader.Parse(XamlWriter.Save(controlInstance))为MyControl;
但我不喜欢它。为什么我要去Xaml克隆控件?难道没有更好的方法吗?