WPF - 第三方控件
第三方控件不是由 Microsoft 创建的,而是由某些个人或公司使用 WPF 用户控件或自定义控件创建的。 Telerik 和 DevExpress 是创建第三方控件最受欢迎的公司。
在本章中,我们将使用 Telerik 控件。 因此,让我们从下面给出的步骤开始。
转到包含 Telerik WPF 控件的链接 Telerik 并下载 WPF UI。
下载完成后,将文件安装到您的计算机上。
安装后,打开 Visual Studio 并创建一个名为 WPF3rdPartyControls 的新 WPF 项目。
在 Toolbox 上,您将看到 Telerik UI 控件。 此外,您会发现在解决方案资源管理器中,安装后也会添加所有必需的 dll。
让我们扩展WPF 的 Telerik UI – 在工具箱中输入 2015 Q2。 您将看到许多内置控件。
现在将 RadCalculator 从工具箱拖到设计窗口。
查看已添加 RadCalculator 标记的 XAML 窗口。
<Window x:Class = "WPF3rdPartyControls.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:WPF3rdPartyControls"
xmlns:telerik = "http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<telerik:RadCalculator HorizontalAlignment = "Left" Margin = "174,25,0,0"
VerticalAlignment = "Top" />
</Grid>
</Window>
让我们编译并执行上面的代码。 您将在窗口上看到一个功能齐全的计算器,只需一行代码。
这就是第三方控件的优点。 但它不是免费的,如果您想在应用程序中使用第三方控件,您需要购买许可证。
让我们看一下另一个 Telerik 控件。 创建一个名为 WPF3rdPartyControls 的新 WPF 项目。 从工具箱中拖动 RadDateTimePicker 控件。 XAML代码如下 −
<Window x:Class = "RadDateTimePickerDemo.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik = "http://schemas.telerik.com/2008/xaml/presentation"
Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<telerik:RadDateTimePicker VerticalAlignment = "Top"
Name = "dateTimePicker" />
</Grid>
</Window>
这里是实现选择 changed 事件的C# 代码。
using System;
using System.Windows;
using System.Windows.Controls;
namespace RadDateTimePickerDemo {
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
dateTimePicker.SelectionChanged += dateTimePicker_SelectionChanged;
}
void dateTimePicker_SelectionChanged( object sender, SelectionChangedEventArgs e ) {
DateTime? dt = dateTimePicker.SelectedValue;
DateTime? date = dateTimePicker.SelectedDate;
TimeSpan? time = dateTimePicker.SelectedTime;
MessageBox.Show( "Selected date/time: " + dt.ToString() );
}
}
}
当您编译并执行上述代码时,将产生以下窗口。
选择任意时间和日期,它将显示在消息框中。
示例
这是 RichTextBox 的示例。 以下 XAML 代码创建三个切换按钮和一个富文本框。
<Window x:Class = "RichTextBoxDemo.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik = "http://schemas.telerik.com/2008/xaml/presentation"
Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<StackPanel>
<StackPanel Orientation = "Horizontal">
<ToggleButton Content = "B" x:Name = "BoldButton" Click = "BoldButton_Click" />
<ToggleButton Content = "I" x:Name = "ItalicButton"
Click = "ItalicButton_Click" />
<ToggleButton Content = "U"x:Name = "UnderlineButton"
Click = "UnderlineButton_Click" />
</StackPanel>
<telerik:RadRichTextBox Height = "250" Width = "400" Name = "richTextBox"/>
</StackPanel>
</Grid>
</Window>
这是按钮单击事件的C# 实现。
using System.Windows;
namespace RichTextBoxDemo {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void BoldButton_Click( object sender, RoutedEventArgs e ) {
richTextBox.ToggleBold();
}
private void ItalicButton_Click( object sender, RoutedEventArgs e ) {
richTextBox.ToggleItalic();
}
private void UnderlineButton_Click( object sender, RoutedEventArgs e ) {
richTextBox.ToggleUnderline();
}
}
}
当您编译并执行上述代码时,将产生以下窗口。 借助这三个按钮,您可以设置在富文本框中输入的文本格式(粗体、斜体、下划线)。
我们建议您尝试使用工具箱和实验中提供的其他控件。

