首先我们在解决方法中右键创建一个新的WPF自定义控件库(.NET Framework)
这里我用的是VS2019
这里本人打算做一个简单的加法计算功能控件,所以创建了一个名为:Calculator的类库。
接下来我们就是先简单的加法功能,这里本人就直接在创建的时候默认生成的UserControl1.xaml文件中设计。
设计代码:
<UserControl x:Class="Calculator.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"
xmlns:local="clr-namespace:Calculator"
mc:Ignorable="d" Height="239.622" Width="257.547">
<Canvas Background="LightBlue">
<Label Content="第一位:" Canvas.Left="55" Canvas.Top="36"/>
<Label Content="第二位:" Canvas.Left="55" Canvas.Top="77"/>
<Label Content="结 果:" Canvas.Left="55" Canvas.Top="119" RenderTransformOrigin="0.467,2.56"/>
<TextBox Height="23" Canvas.Left="113" TextWrapping="Wrap" Name="textBox1" Canvas.Top="36" Width="120"/>
<TextBox Height="23" Canvas.Left="113" TextWrapping="Wrap" Name="textBox2" Canvas.Top="77" Width="120"/>
<TextBox Height="23" Canvas.Left="113" TextWrapping="Wrap" Name="textBox3" Canvas.Top="121" Width="120"/>
<Button Content="相加" Canvas.Left="55" Canvas.Top="168" Width="178" Height="27" Click="Button_Click"/>
</Canvas>
</UserControl>
后端代码:
using System;
using System.Windows;
using System.Windows.Controls;
namespace Calculator
{
/// <summary>
/// UserControl1.xaml 的交互逻辑
/// </summary>
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
textBox3.Text = (Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text)).ToString();
}
}
}
控件设计完成后,我们在所需要的项目中引用控件。
首先我们在所需要引用的项目中已用这个类库
<Window x:Class="SetterDemo1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SetterDemo1"
xmlns:control="clr-namespace:Calculator;assembly=Calculator"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<control:UserControl1 Grid.Column="0" />
<control:UserControl1 Grid.Column="1"/>
</Grid>
</Window>
输入第一位第二位即可实现简单的想加效果的控件。