WPF - 第三方控件



第三方控件是由个人或公司使用 WPF 用户控件或自定义控件创建的,而非由微软创建的。TelerikDevExpress 是创建第三方控件最流行的公司。

在本章中,我们将使用 Telerik 控件。因此,让我们按照以下步骤开始。

  • 访问链接 Telerik,其中包含 Telerik WPF 控件,并下载 UI for WPF。

  • 下载完成后,将文件安装到您的计算机上。

  • 安装完成后,打开 Visual Studio 并创建一个名为 WPF3rdPartyControls 的新 WPF 项目。

  • 在工具箱中,您将看到 Telerik UI 控件。此外,您还会注意到,在解决方案资源管理器中,安装后也会添加所有必需的 dll 文件。

Third Party Controls
  • 让我们展开工具箱中的 Telerik UI for WPF – input 2015 Q2。您将看到许多内置控件。

Telerik UI
  • 现在将 RadCalculator 从工具箱拖到设计窗口。

  • 查看您的 XAML 窗口,其中已添加 RadCalculator 标签。

<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> 
  • 让我们编译并执行上述代码。您将在窗口上看到一个功能齐全的计算器,只需一行代码。

Calculator
  • 这就是第三方控件的优势所在。但它不是免费的,如果您想在应用程序中使用第三方控件,则需要购买许可证。

让我们看看另一个 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> 

这是实现了选择更改事件的 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() ); 
      }
		
   } 
}

编译并执行上述代码后,将生成以下窗口。

Output of third party controls

选择任何时间和日期,它将显示在消息框中。

Message Box

示例

这是一个 RichTextBox 的示例。以下 XAML 代码创建三个切换按钮和一个 RichTextBox。

<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(); 
      } 
		
   } 
} 

编译并执行上述代码后,将生成以下窗口。借助这三个按钮,您可以设置在 RichTextBox 中输入文本的格式(粗体、斜体、下划线)。

Three Buttons

我们建议您尝试使用工具箱中提供的其他控件并进行实验。

wpf_controls.htm
广告