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); } }
多思考,多创新,才是正道!