zoukankan      html  css  js  c++  java
  • WPF 用户控件的使用

        我们来新建一个用户控件UserControl1.xaml

    <UserControl x:Class="WpfApplicationDemo.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="300" d:DesignWidth="300">
        <Grid>
            <Border BorderThickness="3" CornerRadius ="5"
                   Background="#FFFFCC" BorderBrush="#FF6633">
                <StackPanel Orientation="Vertical" Margin="5"                      HorizontalAlignment="Center">
                    <Image Name="goodsImage" Height="80" Width="80" Margin="5"></Image>
                    <TextBlock Name="goodsPrice" Margin="5"></TextBlock>
                    <TextBlock Name="goodsQty" Margin="5"></TextBlock>
                    <Image Name="goodsBuy" Source="/images/fbxq_an.gif"                      Height="25" Width="25" Cursor="Hand" Margin="5">
                        <Image.ToolTip>Add Quantity</Image.ToolTip>
                    </Image>
                </StackPanel>
            </Border>
        </Grid>
    
    </UserControl>
    

     在新建一个Window窗体,把用户控件添加到Window窗体中

    方法如下:

    方法一:在xmal中添加

    首先、要引用用户控件的命名控件 xmlns:my="clr-namespace:WpfApplicationDemo.Control"

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

    <my:UserControl1 HorizontalAlignment="Left" Margin="38,46,0,0" x:Name="userControl11" VerticalAlignment="Top" Height="183" Width="215" />

    代码如下:

    <Window x:Class="WpfApplicationDemo.UserControlDemo"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:my="clr-namespace:WpfApplicationDemo.Control"
        Title="UserControlDemo" Height="300" Width="300" Loaded="Window_Loaded">
        <Grid>
            <TextBlock Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="textBlock1" Text="下面是用户控件" VerticalAlignment="Top" />
            <StackPanel Height="175" HorizontalAlignment="Left" Margin="20,57,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="246" />
            <my:UserControl1 HorizontalAlignment="Left" Margin="38,46,0,0" x:Name="userControl11" VerticalAlignment="Top" Height="183" Width="406" />
    
        </Grid>
    </Window>

    方法二:在cs代码中添加

    比如我们把用户控件放到容器中

     <StackPanel Height="175" HorizontalAlignment="Left" Margin="20,57,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="246" ></StackPanel> 

    然后在后台代码中,实例化用户控件,添加到容器中即可

        public partial class UserControlDemo : Window
        {
            public UserControlDemo()
            {
                InitializeComponent();
            }
    
            private void Window_Loaded(object sender, RoutedEventArgs e)
            {
                UserControl1 demo = new UserControl1();
                this.stackPanel1.Children.Add(demo);
            }
        }
  • 相关阅读:
    从函数作用域和块级作用域看javascript的作用域链
    基于vue实现一个简单的MVVM框架(源码分析)
    发布-订阅模式
    希尔排序
    直接插入排序
    选择排序
    React Fiber源码分析 第三篇(异步状态)
    React Fiber源码分析 第二篇(同步模式)
    React Fiber源码分析 第一篇
    数据结构 之 树总结
  • 原文地址:https://www.cnblogs.com/shuang121/p/2853591.html
Copyright © 2011-2022 走看看