skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • NEW: Design Kits for Figma
    • Online Training
    • Document Processing Library
    • Embedded Reporting for web and desktop

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadChat

RadChat is control that provides the look and feel of a chat application. It exposes API for managing and display of text and media messages.

Inheritance
System.Object
RadChat
Namespace: Telerik.Windows.Controls
Assembly: Telerik.Windows.Controls.ConversationalUI.dll

Syntax

[TelerikToolboxCategory("ConversationalUI")]
public class RadChat : Control, IMessageReportSubscriber

Constructors

RadChat()

Initializes a new instance of the RadChat class.

Declaration
public RadChat()

Fields

AutoIncludeTimeBreaksProperty

Identifies the AutoIncludeTimeBreaks dependency property.

Declaration
public static readonly DependencyProperty AutoIncludeTimeBreaksProperty
Field Value
System.Windows.DependencyProperty

CanUserSelectMessageProperty

Identifies the CanUserSelectMessage dependency property.

Declaration
public static readonly DependencyProperty CanUserSelectMessageProperty
Field Value
System.Windows.DependencyProperty

CurrentAuthorProperty

Identifies the CurrentAuthor dependency property.

Declaration
public static readonly DependencyProperty CurrentAuthorProperty
Field Value
System.Windows.DependencyProperty

DataSourceProperty

Identifies the DataSource dependency property.

Declaration
public static readonly DependencyProperty DataSourceProperty
Field Value
System.Windows.DependencyProperty

InputBoxTextProperty

Identifies the InputBoxText dependency property.

Declaration
public static readonly DependencyProperty InputBoxTextProperty
Field Value
System.Windows.DependencyProperty

InputBoxWatermarkContentProperty

Identifies the InputBoxWatermarkContent dependency property.

Declaration
public static readonly DependencyProperty InputBoxWatermarkContentProperty
Field Value
System.Windows.DependencyProperty

IsToolBarOpenProperty

Identifies the IsToolBarOpen dependency property.

Declaration
public static readonly DependencyProperty IsToolBarOpenProperty
Field Value
System.Windows.DependencyProperty

MessageConverterProperty

Identifies the MessageConverter dependency property.

Declaration
public static readonly DependencyProperty MessageConverterProperty
Field Value
System.Windows.DependencyProperty

MessageListTemplateSelectorProperty

Identifies the MessageListTemplateSelector dependency property.

Declaration
public static readonly DependencyProperty MessageListTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

MessageOverlayTemplateSelectorProperty

Identifies the MessageOverlayTemplateSelector dependency property.

Declaration
public static readonly DependencyProperty MessageOverlayTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

MessagePopupTemplateSelectorProperty

Identifies the MessagePopupTemplateSelector dependency property.

Declaration
public static readonly DependencyProperty MessagePopupTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

ReportMessageResultEvent

Identifies the Event.

Declaration
public static readonly RoutedEvent ReportMessageResultEvent
Field Value
System.Windows.RoutedEvent

SendCommandProperty

Identifies the SendCommand dependency property.

Declaration
public static readonly DependencyProperty SendCommandProperty
Field Value
System.Windows.DependencyProperty

SendMessageEvent

Identifies the Event.

Declaration
public static readonly RoutedEvent SendMessageEvent
Field Value
System.Windows.RoutedEvent

SuggestedActionReportedEvent

Identifies the Event.

Declaration
public static readonly RoutedEvent SuggestedActionReportedEvent
Field Value
System.Windows.RoutedEvent

SuggestedActionsOrientationProperty

Identifies the SuggestedActionsOrientation dependency property.

Declaration
public static readonly DependencyProperty SuggestedActionsOrientationProperty
Field Value
System.Windows.DependencyProperty

SuggestedActionsProperty

Identifies the SuggestedActions dependency property.

Declaration
public static readonly DependencyProperty SuggestedActionsProperty
Field Value
System.Windows.DependencyProperty

SuggestedActionsVisibilityProperty

Identifies the SuggestedActionsVisibility dependency property.

Declaration
public static readonly DependencyProperty SuggestedActionsVisibilityProperty
Field Value
System.Windows.DependencyProperty

TimeBreakFormatProperty

Identifies the TimeBreakFormat dependency property.

Declaration
public static readonly DependencyProperty TimeBreakFormatProperty
Field Value
System.Windows.DependencyProperty

TimeBreakIntervalProperty

Identifies the TimeBreakInterval dependency property.

Declaration
public static readonly DependencyProperty TimeBreakIntervalProperty
Field Value
System.Windows.DependencyProperty

ToolBarCommandsProperty

Identifies the ToolBarCommands dependency property.

Declaration
public static readonly DependencyProperty ToolBarCommandsProperty
Field Value
System.Windows.DependencyProperty

ToolBarCommandTemplateProperty

Identifies the ToolBarCommandTemplate dependency property.

Declaration
public static readonly DependencyProperty ToolBarCommandTemplateProperty
Field Value
System.Windows.DependencyProperty

ToolBarCommandTemplateSelectorProperty

Identifies the ToolBarCommandTemplateSelector dependency property.

Declaration
public static readonly DependencyProperty ToolBarCommandTemplateSelectorProperty
Field Value
System.Windows.DependencyProperty

TypingCommandProperty

Identifies the TypingCommand dependency property.

Declaration
public static readonly DependencyProperty TypingCommandProperty
Field Value
System.Windows.DependencyProperty

TypingIndicatorIconProperty

Identifies the TypingIndicatorIcon dependency property.

Declaration
public static readonly DependencyProperty TypingIndicatorIconProperty
Field Value
System.Windows.DependencyProperty

TypingIndicatorTextProperty

Identifies the TypingIndicatorText dependency property.

Declaration
public static readonly DependencyProperty TypingIndicatorTextProperty
Field Value
System.Windows.DependencyProperty

TypingIndicatorVisibilityProperty

Identifies the TypingIndicatorVisibility dependency property.

Declaration
public static readonly DependencyProperty TypingIndicatorVisibilityProperty
Field Value
System.Windows.DependencyProperty

VerticalAvatarAlignmentProperty

Identifies the VerticalAvatarAlignment dependency property.

Declaration
public static readonly DependencyProperty VerticalAvatarAlignmentProperty
Field Value
System.Windows.DependencyProperty

Properties

AutoIncludeTimeBreaks

Gets or sets value indicating whether TimeBreaks are automatically included.

Declaration
public bool AutoIncludeTimeBreaks { get; set; }
Property Value
System.Boolean

CanUserSelectMessage

Gets or sets value indicating whether users can select inline messages through the UI.

Declaration
public bool CanUserSelectMessage { get; set; }
Property Value
System.Boolean

CurrentAuthor

Gets or sets the current author.

Declaration
public Author CurrentAuthor { get; set; }
Property Value
Author

DataSource

Gets or sets a data source that will be used to generate messages in data-bound scenarios.

Declaration
public IEnumerable DataSource { get; set; }
Property Value
System.Collections.IEnumerable

InlineMessages

Gets the collection of inline messages.

Declaration
protected virtual IEnumerable<MessageBase> InlineMessages { get; }
Property Value
System.Collections.Generic.IEnumerable<MessageBase>

InputBoxText

Gets or sets the input box text.

Declaration
public string InputBoxText { get; set; }
Property Value
System.String

InputBoxWatermarkContent

Gets or sets the input box watermark content.

Declaration
public object InputBoxWatermarkContent { get; set; }
Property Value
System.Object

IsToolBarOpen

Gets or sets a value indicating whether the tool bar is open or not.

Declaration
public bool IsToolBarOpen { get; set; }
Property Value
System.Boolean

LastMessage

Gets the last message.

Declaration
public virtual InlineViewModel LastMessage { get; }
Property Value
InlineViewModel

LastMessageGroup

Gets the last message group.

Declaration
public virtual MessageGroupViewModel LastMessageGroup { get; }
Property Value
MessageGroupViewModel

MessageConverter

Gets or sets an IMessageConverter that will be used for converting messages to DataSource type vice versa.

Declaration
public IMessageConverter MessageConverter { get; set; }
Property Value
IMessageConverter

MessageGroups

Gets the collection of MessageGroups.

Declaration
public ObservableCollection<MessageGroupViewModel> MessageGroups { get; }
Property Value
System.Collections.ObjectModel.ObservableCollection<MessageGroupViewModel>

MessageListItems

Gets the collection of MessageListItems (MessageGroups and TimeBreaks).

Declaration
public ObservableCollection<MessageListItemViewModelBase> MessageListItems { get; }
Property Value
System.Collections.ObjectModel.ObservableCollection<MessageListItemViewModelBase>

MessageListTemplateSelector

Gets or sets the DataTemplate selector that is used for displaying messages in ChatMessageList.

Declaration
public MessageTemplateSelector MessageListTemplateSelector { get; set; }
Property Value
MessageTemplateSelector

MessageOverlayTemplateSelector

Gets or sets the DataTemplate selector that is used for displaying messages in ChatOverlay.

Declaration
public MessageTemplateSelector MessageOverlayTemplateSelector { get; set; }
Property Value
MessageTemplateSelector

MessagePopupTemplateSelector

Gets or sets the DataTemplate selector that is used for displaying messages in ChatPopupPlaceholder.

Declaration
public MessageTemplateSelector MessagePopupTemplateSelector { get; set; }
Property Value
MessageTemplateSelector

MessageReporter

Gets the MessageReporter control that processes result actions.

Declaration
public MessageReporter MessageReporter { get; }
Property Value
MessageReporter

Implements
IMessageReportSubscriber.MessageReporter

SendCommand

Gets or sets the command that is executed when a new message is typed in the UI and then sent.

Declaration
public ICommand SendCommand { get; set; }
Property Value
System.Windows.Input.ICommand

SuggestedActions

Gets or sets the list of suggested actions.

Declaration
public ObservableCollection<SuggestedAction> SuggestedActions { get; set; }
Property Value
System.Collections.ObjectModel.ObservableCollection<SuggestedAction>

SuggestedActionsOrientation

Gets or sets the orientation of suggested action panel.

Declaration
public Orientation SuggestedActionsOrientation { get; set; }
Property Value
System.Windows.Controls.Orientation

SuggestedActionsVisibility

Gets or sets a value that indicates whether suggested action panel is visible or not.

Declaration
public Visibility SuggestedActionsVisibility { get; set; }
Property Value
System.Windows.Visibility

TimeBreakFormat

Gets or sets the DateTime string format that is used to display time breaks.

Declaration
public string TimeBreakFormat { get; set; }
Property Value
System.String

TimeBreakInterval

Gets or sets the interval that should be use to automatically place time breaks.

Declaration
public Nullable<TimeSpan> TimeBreakInterval { get; set; }
Property Value
System.Nullable<System.TimeSpan>

ToolBarCommands

Gets the list of ToolBar commands.

Declaration
public ObservableCollection<ToolBarCommand> ToolBarCommands { get; }
Property Value
System.Collections.ObjectModel.ObservableCollection<ToolBarCommand>

ToolBarCommandTemplate

Gets or sets a data template for the ToolBar command buttons' content.

Declaration
public DataTemplate ToolBarCommandTemplate { get; set; }
Property Value
System.Windows.DataTemplate

ToolBarCommandTemplateSelector

Gets or sets a template selector that is used for selecting ToolBar command buttons' content.

Declaration
public DataTemplateSelector ToolBarCommandTemplateSelector { get; set; }
Property Value
System.Windows.Controls.DataTemplateSelector

TypingCommand

Gets or sets the command that should be executed on typing.

Declaration
public ICommand TypingCommand { get; set; }
Property Value
System.Windows.Input.ICommand

TypingIndicatorIcon

Gets or sets the icon of the typing indicator.

Declaration
public ImageSource TypingIndicatorIcon { get; set; }
Property Value
System.Windows.Media.ImageSource

TypingIndicatorText

Gets or sets the text of the typing indicator.

Declaration
public string TypingIndicatorText { get; set; }
Property Value
System.String

TypingIndicatorVisibility

Gets or sets a value that indicates whether the typing indicator is visible or not.

Declaration
public Visibility TypingIndicatorVisibility { get; set; }
Property Value
System.Windows.Visibility

VerticalAvatarAlignment

Gets or sets the vertical alignment for Author's Avatar.

Declaration
public VerticalAlignment VerticalAvatarAlignment { get; set; }
Property Value
System.Windows.VerticalAlignment

Methods

AddMessage(Author, String)

Adds a new Message to RadChat.

Declaration
public virtual void AddMessage(Author author, string messageText)
Parameters
Author author

System.String messageText

AddMessage(MessageBase)

Adds a new Message to RadChat.

Declaration
public virtual void AddMessage(MessageBase message)
Parameters
MessageBase message

AddTimeBreak(String)

Adds a time break with the given header.

Declaration
public virtual void AddTimeBreak(string header)
Parameters
System.String header

CloseOverlay()

Closes the overlay view and its content.

Declaration
public void CloseOverlay()

ClosePopup()

Closes the popup placeholder view and its content.

Declaration
public void ClosePopup()

ConvertItemToMessage(Object)

Uses the given MessageConverter to convert data item to message.

Declaration
protected virtual MessageBase ConvertItemToMessage(object item)
Parameters
System.Object item

Returns
MessageBase

ConvertMessageToDataItem(MessageBase)

Uses the given MessageConverter to convert message to data object.

Declaration
protected virtual object ConvertMessageToDataItem(MessageBase message)
Parameters
MessageBase message

Returns
System.Object

CreateMessageGroup(Author)

Creates a new message group for the given author.

Declaration
protected virtual MessageGroupViewModel CreateMessageGroup(Author author)
Parameters
Author author

Returns
MessageGroupViewModel

GetMessageByIndex(Int32)

Returns the inline message by its index position.

Declaration
public virtual MessageBase GetMessageByIndex(int index)
Parameters
System.Int32 index

Returns
MessageBase

OnAddingTimeBreak(TimeBreakEventArgs)

Raises the AddingTimeBreak event.

Declaration
protected virtual void OnAddingTimeBreak(TimeBreakEventArgs timeBreakArgs)
Parameters
TimeBreakEventArgs timeBreakArgs

OnApplyTemplate()

Declaration
public override void OnApplyTemplate()

OnCreateAutomationPeer()

Returns an automation peer for this RadChat.

Declaration
protected override AutomationPeer OnCreateAutomationPeer()
Returns
System.Windows.Automation.Peers.AutomationPeer

OnInitialized(EventArgs)

Declaration
protected override void OnInitialized(EventArgs e)
Parameters
System.EventArgs e

OnReportMessageResult(MessageResultEventArgs)

Raises the ReportMessageResult event.

Declaration
protected virtual void OnReportMessageResult(MessageResultEventArgs args)
Parameters
MessageResultEventArgs args

OnSendMessage(SendMessageEventArgs)

Raises the SendMessage routed event.

Declaration
protected virtual void OnSendMessage(SendMessageEventArgs args)
Parameters
SendMessageEventArgs args

OnSuggestedActionReported(SuggestedActionsEventArgs)

Raises the SuggestedActionReported event.

Declaration
protected virtual void OnSuggestedActionReported(SuggestedActionsEventArgs suggestedActionsArgs)
Parameters
SuggestedActionsEventArgs suggestedActionsArgs

RebindDataSource()

Rebinds the RadChat, using the collection set as DataSource.

Declaration
protected virtual void RebindDataSource()

RemoveMessage(MessageBase)

Removes an existing inline message from RadChat.

Declaration
public virtual void RemoveMessage(MessageBase message)
Parameters
MessageBase message

Implements
IMessageReportSubscriber.RemoveMessage(MessageBase)

ShowMessageInOverlay(MessageBase)

Adds a message as overlay content.

Declaration
protected void ShowMessageInOverlay(MessageBase message)
Parameters
MessageBase message

ShowMessageInPopup(MessageBase)

Adds a message as popup content.

Declaration
protected void ShowMessageInPopup(MessageBase message)
Parameters
MessageBase message

Events

AddingTimeBreak

Event is raised when time break is added.

Declaration
public event EventHandler<TimeBreakEventArgs> AddingTimeBreak
Event Type
System.EventHandler<TimeBreakEventArgs>

ReportMessageResult

Event is raised when response action reports result.

Declaration
public event EventHandler<MessageResultEventArgs> ReportMessageResult
Event Type
System.EventHandler<MessageResultEventArgs>

SendMessage

Event is raised when a new message is typed and sent by the current author.

Declaration
public event EventHandler<SendMessageEventArgs> SendMessage
Event Type
System.EventHandler<SendMessageEventArgs>

SuggestedActionReported

Event is raised when suggested action reports result.

Declaration
public event EventHandler<SuggestedActionsEventArgs> SuggestedActionReported
Event Type
System.EventHandler<SuggestedActionsEventArgs>

Extension Methods

CollectionExtensions.ToEnumerable<T>(T)
EnumerableExtensions.ToEnumerable<T>(T)
Getting Started
  • Install Now
  • Demos
  • SDK Samples Browser
  • Sample Applications
Support Resources
  • Code Library
  • Knowledge Base
  • MVVM Support
  • Videos
  • GitHub SDK Repository
Community
  • Forums
  • Blogs
  • XAML Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.