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
廣告
© . All rights reserved.