如何在不同的WPF项目中重用用户控件

时间:2011-04-25 11:44:21

标签: c# wpf wpf-controls binding

我有一个WPF项目说应用程序1并且在其中定义了一个用户控件..我想在另一个WPF项目中重新启动这个用户控件,我将如何做到这一点?

两个项目都绑定到相同的源控件

3 个答案:

答案 0 :(得分:1)

最好的方法是:

  

在其他项目中定义您的用户控件只包含您的用户控件作为类库项目(如Scott Say)

但是您可以通过以下步骤手动执行此操作:

  1. 从App1-pro复制您的用户控件(来自解决方案资源管理器) 到App2-pro(即使你可以穿这个 从vs到另一个vs)
  2. 打开代码 在文件后面去Ctor找 InitializeComponent-mthod push f12(或使用goto定义) 右键菜单)
  3. 更改名称 application1Application2 namespace的空格 x:Class=WpfApplication1.UserControl(哎呀呀 它!)
  4. 更改cod-behind-file 如上所述的命名空间(也保存 它)
  5. 转到xaml文件并进行更改 这个 x:Class=WpfApplication2.UserControl至{{1}}
  6. 现在享受用户控制!

答案 1 :(得分:0)

将您的控件重构为一个单独的Windows库(dll),然后将该dll添加到每个项目的引用中。

答案 2 :(得分:0)

我不是专家,但让我试试。确保可以从其他项目访问您的用户控件,即存在对定义此控件的库的引用。然后,在您希望重用此控件的位置,您需要定义命名空间并将控件用作任何其他控件。 e.g。

<Window x:Class="Test.Window1" Title="Window1" Height="300" Width="600"
...
xmlns:userControls="clr-namespace:MySolution.MyPresentation.MyControls;assembly=MySolution.MyPresentation" 
/*controls namespace and assembly*/
>    
   <Grid>
        <userControls:ReusableControl
        /*particular properties of ReusableControl */
        />
   </Grid>    
<window>