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

发布于 2024-11-03 05:32:18 字数 101 浏览 0 评论 0原文

我有一个 WPF 项目,说应用程序 1 并在其中定义了一个用户控件..我想在另一个 WPF 项目中恢复此用户控件,我怎样才能做到这一点?

两个项目都绑定到相同的源代码控制中

I have a WPF project say Application 1 and inside of it a user control is defined ..I want to resue this user control in another WPF project ,How I will be able to do it??

Both projects are binded into same source control

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱你是孤单的心事 2024-11-10 05:32:18

我不是专家,但让我尝试一下。确保您的用户控件可以从另一个项目访问,即存在对该控件定义的库的引用。然后,在您希望重用该控件的地方,您需要定义命名空间并像任何其他控件一样使用您的控件。例如

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

I am not an expert but let me try. Ensure that your user control is accessible from another project, i.e. there is a reference to the library where this control is defined. Then, at the place where you want this control to be reused, you need to define the namespace and use your control as any other controls. 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>
暖心男生 2024-11-10 05:32:18

最好的办法是:

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

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

  1. 从 App1-pro(从解决方案资源管理器)复制您的用户控件
    到App2-pro(即使你可以这样做
    从 vs 到另一个 vs)
  2. 打开代码
    后面的文件并转到 Ctor 并找到
    InitializeComponent-方法推送
    f12(或使用 goto 定义
    右键菜单)
  3. 更改名称
    application1
    Application2 命名空间(糟糕,保存
    它!)
  4. 更改 cod-behind-file
    像上面步骤一样的命名空间(也保存
    它)
  5. 转到 xaml 文件并更改

    x:Class=WpfApplication1.UserControlx:Class=WpfApplication2.UserControl

现在享受您的用户控制吧!

best way is:

define your user control in other project only contains your user control as Class library project (Like Scott Say)

but stil you can do this manually with these steps:

  1. copy your user control from App1-pro(from solution explorer)
    to App2-pro(even you can don this
    from vs to another vs)
  2. open Code
    behind file and go to Ctor and find
    InitializeComponent-mthod push
    f12(or use goto definition from
    right-click menu)
  3. change the name
    space from application1 to
    Application2 namespace(oops save
    it!)
  4. change cod-behind-file
    namespace like above step(also save
    it)
  5. go to xaml file and change
    this
    x:Class=WpfApplication1.UserControl to x:Class=WpfApplication2.UserControl

Now enjoy your User-control!

东走西顾 2024-11-10 05:32:18

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

Refactor your control into a seperate windows library (dll), and then add that dll to the references for each project.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文