前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF使用自定义控件UserControl

WPF使用自定义控件UserControl

作者头像
zls365
发布2021-10-19 09:51:38
1.7K0
发布2021-10-19 09:51:38
举报
文章被收录于专栏:CSharp编程大全CSharp编程大全

大佬们基本上都在讲怎么自定义控件,却怎么也没有说明怎么使用这些个自定义的控件,然后看完教程的本小白只能干瞪眼..可能大佬们不屑这样基础的东西 首先新建一个用户控件UserControl1.xaml,这个会用几下VS的应该都没有难度。

代码语言:javascript
复制
<UserControl x:Class="BlackBird.Control.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             mc:Ignorable="d"
             d:DesignHeight="600" d:DesignWidth="600">
    <Grid>
          <!--此处省略代码,拷贝网络上的代码到这里,或者自己写-->
    </Grid>
</UserControl>

然后是在需要添加该控件的窗体中的操作.. 方法一:在xmal文件中添加 首先、要引用用户控件的命名空间 xmlns:bird="clr-namespace:BlackBird.Control"

代码语言:javascript
复制
<bird:UserControl1 x:Name="userControl1" />

然后、把用户控件添加到窗体中

代码语言:javascript
复制
<Window x:Class="WpfApplicationDemo.UserControlDemo"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:bird="clr-namespace:BlackBird.Control"
        Title="UserControlDemo" Height="300" Width="300" Loaded="Window_Loaded">
    <Grid>
        <bird:UserControl1 x:Name="userControl11" />
    </Grid>
</Window>

方法二:在cs代码中添加

比如我们把用户控件放到StackPanel面板中

代码语言:javascript
复制
<StackPanel Name="stackPanel1"></StackPanel>

在后台代码中,引用命名空间,实例化用户控件,添加到面板容器中即可

代码语言:javascript
复制
private void Window_Loaded(object sender, RoutedEventArgs e)
{
    UserControl1 demo = new UserControl1();
    this.stackPanel1.Children.Add(demo);
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档