我们来新建一个用户控件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); } }