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

本文关键字:用户 控件 项目 WPF 何跨不 | 更新日期: 2023-09-27 17:53:00

我有一个WPF项目,名称为Application 1,其中定义了一个用户控件。我想在另一个WPF项目中重新发布此用户控件,我将如何做到这一点??

两个项目都绑定到同一个源代码控制

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

我不是专家,但让我试试。确保您的用户控件可以从另一个项目中访问,即有对定义此控件的库的引用。然后,在希望重用该控件的位置,需要定义名称空间,并像使用其他控件一样使用该控件。例如

<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>

最好的办法是:

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

,但你仍然可以手动执行以下步骤:

  1. 从App1-pro(从解决方案资源管理器)复制用户控件到App2-pro(甚至你也可以这么做)从vs到另一个vs)
  2. 开放代码在文件后面,去医生那里找InitializeComponent-mthod推F12(或使用goto定义from)右键菜单)
  3. 更改名称从application1Application2 namespace(哦,保存它!)
  4. cod-behind-file变化命名空间类似上面的步骤(也保存)
  5. 转到xaml文件并更改这x:Class=WpfApplication1.UserControlx:Class=WpfApplication2.UserControl

现在享受您的用户控制!

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