2016-02-05 82 views
0

我绝对是新来的wpf,我想知道,我能做些什么与以下情况(例如):
我有一个xaml标记文件,并在该文件中的某处我声明两个<Border>元素,每个他们有嵌套元素:如何创建可重复使用的wpf元素?

<Border Grid.Row="1"> 
    <StackPanel> 
     <TextBox Text="1st el"/> 
     <ComboBox ItemsSource="{Binding }"> 
    </StackPanel> 
</Border> 

<Border Grid.Row="2"> 
    <StackPanel> 
     <TextBox Text="2nd el"/> 
     <ComboBox ItemsSource="{Binding SomeVMProp}"> 
    </StackPanel> 
</Border> 

一切工作正常,但此代码似乎打破DRY原则。所以这里是我的问题:

  • 重构此代码的正确方法是什么(我的意思是创建可重用的元素(StackPanel +边框))?
  • 什么是保存我的可重用元素代码的正确位置?
  • 将我的可重用元素包含到具体视图的xaml中的正确方法是什么?
  • 还有其他建议吗?

PS 对不起,如果我的问题是不正确的,但我期待有人给我一个关于处理这种情况的想法。

回答

3

用鼠标右键单击您的项目,单击新建 - >用户控件。把它命名为任何你想要的。将您的XAML粘贴到您想要的位置。

通过引用<local:MyUserControl/>在您的MainWindow.xaml(或任何您的主窗口被称为)中使用它。

-1

您应该为这种情况开发自定义控件。 你可以有一个自定义控制库。看看this msdn link

+0

噢,你在开玩笑吗?你是认真的吗?我真的应该做这么多东西来实现吗? – klutch1991

+0

我期待着所有这些员工,只使用XAML。 – klutch1991