Skip to content
Open
8 changes: 5 additions & 3 deletions MAUI/AIAssistView/data-binding.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ N> The `SfAIAssistView.AssistItems` property is of type `IList<IAssistItem>`. To

## Binding Custom Model Collection

The `SfAIAssistView` control provides support for binding collection of custom data objects through the `ItemsSource` property. This feature allows users to use their own data objects with the control. The `ItemsSource` property binds a collection of custom data objects to the `SfAIAssistView` and each item in the collection will be converted to an `AssistItem` and displayed in the view. The `ItemsSourceConverter` property sets the converter used to transform data objects into assist items and vice versa.
The [SfAIAssistView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.html) control provides support for binding collection of custom data objects through the [ItemsSource](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.SfAIAssistView.html#Syncfusion_Maui_AIAssistView_SfAIAssistView_ItemsSource) property. This feature allows users to use their own data objects with the control. The `ItemsSource` property binds a collection of custom data objects to the `SfAIAssistView` and each item in the collection will be converted to an `AssistItem` and displayed in the view. The [ItemsSourceConverter](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.SfAIAssistView.html#Syncfusion_Maui_AIAssistView_SfAIAssistView_ItemsSourceConverter) property sets the converter used to transform data objects into assist items and vice versa.

{% tabs %}
{% highlight xaml hl_lines="15 16" %}
Expand Down Expand Up @@ -281,7 +281,7 @@ N> If you want your data objects to respond to property changes, then implement
{% endhighlight %}
{% endtabs %}

This converter must implement the `IAssistItemConverter` interface. Implement this interface to create a custom converter for the `ItemsSourceConverter` property.
This converter must implement the [IAssistItemConverter](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.IAssistItemConverter.html) interface. Implement this interface to create a custom converter for the `ItemsSourceConverter` property.

{% tabs %}
{% highlight c# tabtitle="AssistItemConverter.cs" hl_lines="1" %}
Expand Down Expand Up @@ -336,9 +336,11 @@ This converter must implement the `IAssistItemConverter` interface. Implement th

{% endhighlight %}
{% endtabs %}

N> The `Data` property in `AssistItem` holds a reference to the original data object which is used for data operations.

N> [View Sample in GitHub](https://github.com/SyncfusionExamples/custom-model-collection-in-.net-maui-aiassistview).

## Bind the RequestCommand property

The [SfAIAssistView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.html) control allows you to handle user requests by binding them to the [RequestCommand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.SfAIAssistView.html#Syncfusion_Maui_AIAssistView_SfAIAssistView_RequestCommand) property. This command is triggered whenever the user sends a request in the assist view.
Expand Down
8 changes: 5 additions & 3 deletions MAUI/AIAssistView/emptyview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ documentation: ug

# Empty view in .NET MAUI AI AssistView

The `AI AssistView` control allows you to display and customize the empty view content when no request or response has been added.
The [SfAIAssistView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.html) control allows you to display and customize the empty view content when no request or response has been added.

## Display empty view when AI AssistView has no items

The `EmptyView` property can also be set to a string or a view, which will be displayed when no request or response is available to display in the control.
The [EmptyView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.SfAIAssistView.html#Syncfusion_Maui_AIAssistView_SfAIAssistView_EmptyView) property can also be set to a string or a view, which will be displayed when no request or response is available to display in the control.

{% tabs %}
{% highlight xaml hl_lines="5" %}
Expand Down Expand Up @@ -44,7 +44,7 @@ public partial class MainPage : ContentPage

## EmptyView Customization

The `SfAIAssistView` control allows you to fully customize the empty view appearance by using the `EmptyViewTemplate` property. This property lets you define a custom layout and style for the `EmptyView`.
The `SfAIAssistView` control allows you to fully customize the empty view appearance by using the [EmptyViewTemplate](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.AIAssistView.SfAIAssistView.html#Syncfusion_Maui_AIAssistView_SfAIAssistView_EmptyViewTemplate) property. This property lets you define a custom layout and style for the `EmptyView`.

{% tabs %}
{% highlight xaml hl_lines="5 6" %}
Expand Down Expand Up @@ -165,3 +165,5 @@ The `SfAIAssistView` control allows you to fully customize the empty view appear
N>
* The `EmptyViewTemplate` will only be applied when the `EmptyView` property is explicitly defined. If `EmptyView` is not set, the template will not be displayed.
* `EmptyView` can be set to custom data model and the appearance of the `EmptyView` can be customized by using the `EmptyViewTemplate`.

N> [View Sample in GitHub](https://github.com/SyncfusionExamples/how-to-display-empty-view-when-.net-maui-aiassistview-has-no-data).
24 changes: 13 additions & 11 deletions MAUI/Chat/messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -991,7 +991,7 @@ N> The Action argument in `CardTappedEventArgs` holds a valid value only when cl

## Delivery States
The `SfChat` provides built-in support for displaying message delivery states such as sent, delivered, read, and failed. This feature enhances communication transparency by showing the current status of each message.
The `ShowDeliveryState` property determines whether delivery state indicators are displayed for messages. By default, this property is set to `false`.
The [ShowDeliveryState](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.SfChat.html#Syncfusion_Maui_Chat_SfChat_ShowDeliveryState) property determines whether delivery state indicators are displayed for messages. By default, this property is set to `false`.

{% tabs %}
{% highlight xaml hl_lines="18" %}
Expand Down Expand Up @@ -1046,13 +1046,13 @@ namespace MauiChat
{% endtabs %}

### Handling Message Delivery States
The `DeliveryState` property sets the current delivery status of a specific message. The `SfChat` control provides the following delivery states:
The [DeliveryState](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.IMessage.html#Syncfusion_Maui_Chat_IMessage_DeliveryState) property sets the current delivery status of a specific message. The `SfChat` control provides the following delivery states:

- `None` - No delivery indicator is shown. This is the default value.
- `Sent` - Message has been sent from the current user.
- `Delivered` - Message has been delivered to the recipient.
- `Read` - Message has been read by the recipient.
- `Failed` - Message failed to deliver.
- [None](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.DeliveryStates.html#Syncfusion_Maui_Chat_DeliveryStates_None) - No delivery indicator is shown. This is the default value.
- [Sent](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.DeliveryStates.html#Syncfusion_Maui_Chat_DeliveryStates_Sent) - Message has been sent from the current user.
- [Delivered](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.DeliveryStates.html#Syncfusion_Maui_Chat_DeliveryStates_Delivered) - Message has been delivered to the recipient.
- [Read](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.DeliveryStates.html#Syncfusion_Maui_Chat_DeliveryStates_Read) - Message has been read by the recipient.
- [Failed](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.DeliveryStates.html#Syncfusion_Maui_Chat_DeliveryStates_Failed) - Message failed to deliver.

{% tabs %}
{% highlight c# tabtitle="ViewModel.cs" %}
Expand Down Expand Up @@ -1153,12 +1153,14 @@ public class ViewModel : INotifyPropertyChanged

![DeliveryState in .NET MAUI Chat](Images/messages/maui-chat-delivery-state.gif)

N> [View Sample in GitHub](https://github.com/SyncfusionExamples/message-delivery-states-.net-maui-chat)

### Customizing Delivery State Icons
The `SfChat` control allows assigning custom icon values for each Delivery State. The following API is used to define the icon for each delivery state.
- `SentIcon` - Sets a custom image for the sent state indicator.
- `DeliveredIcon` - Sets a custom image for the delivered state indicator.
- `ReadIcon` - Sets a custom image for the read state indicator.
- `FailedIcon` - Sets a custom image for the failed state indicator.
- [SentIcon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.SfChat.html#Syncfusion_Maui_Chat_SfChat_SentIcon) - Sets a custom image for the sent state indicator.
- [DeliveredIcon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.SfChat.html#Syncfusion_Maui_Chat_SfChat_DeliveredIcon) - Sets a custom image for the delivered state indicator.
- [ReadIcon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.SfChat.html#Syncfusion_Maui_Chat_SfChat_ReadIcon) - Sets a custom image for the read state indicator.
- [FailedIcon](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Chat.SfChat.html#Syncfusion_Maui_Chat_SfChat_FailedIcon) - Sets a custom image for the failed state indicator.

{% tabs %}
{% highlight xaml hl_lines="19 20 21 22" %}
Expand Down
30 changes: 15 additions & 15 deletions MAUI/TreeView/drag-and-drop.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ documentation: ug
---

# Drag and drop in .NET MAUI TreeView (SfTreeView)
The [SfTreeView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html) allows drag and drop the items within the treeview control by setting the `AllowDragging` property as `true`.
The [SfTreeView](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html) allows drag and drop the items within the treeview control by setting the [AllowDragging](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html#Syncfusion_Maui_TreeView_SfTreeView_AllowDragging) property as `true`.

{% tabs %}
{% highlight xaml hl_lines="4" %}
Expand Down Expand Up @@ -36,7 +36,7 @@ N> The drag and drop operation is not supported when Load on Demand is enabled.
`SfTreeView` allows to drag multiple selected items. To enable multiple selection, set the [SfTreeView.SelectionMode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html#Syncfusion_Maui_TreeView_SfTreeView_SelectionMode) as `Multiple` or `Extended`.

## Drag item customization
By defining the `SfTreeView.DragItemTemplate` property of the `SfTreeView`, a custom user interface (UI) is displayed during drag-and-drop operations.
By defining the [DragItemTemplate](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html#Syncfusion_Maui_TreeView_SfTreeView_DragItemTemplate) property of the `SfTreeView`, a custom user interface (UI) is displayed during drag-and-drop operations.

{% tabs %}
{% highlight xaml hl_lines="5" %}
Expand Down Expand Up @@ -146,22 +146,22 @@ N> View sample in [GitHub](https://github.com/SyncfusionExamples/how-to-customiz

## Event

The `ItemDragging` event is raised while dragging and dropping the item in the `SfTreeView`. The `ItemDraggingEventArgs` has the following members which provide the information for the ItemDragging event:
The [ItemDragging](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.SfTreeView.html#Syncfusion_Maui_TreeView_SfTreeView_ItemDragging) event is raised while dragging and dropping the item in the `SfTreeView`. The [ItemDraggingEventArgs](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html) has the following members which provide the information for the ItemDragging event:

* `Action`: Returns the drag `Action` such as start, dragging, dropping and drop.
* `Handled`: If this member is set to true, dragging can be handled. It is applicable only if Action is `Dragging`.
* `Cancel` : If this member is set to true, the drag and drop operation will be canceled.
* `DraggingNode`: Returns the `DraggingNodes`.
* `DropPosition`: Returns the position where dragged nodes are going to be dropped.
* `Position`: Returns the touch position of the drag item from the screen coordinates.
* [Action](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html#Syncfusion_Maui_TreeView_ItemDraggingEventArgs_Action): Returns the drag `Action` such as start, dragging, dropping and drop.
* [Handled](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html#Syncfusion_Maui_TreeView_ItemDraggingEventArgs_Handled): If this member is set to true, dragging can be handled. It is applicable only if Action is `Dragging`.
* [DraggingNode](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html#Syncfusion_Maui_TreeView_ItemDraggingEventArgs_DraggingNodes): Returns the `DraggingNodes`.
* [DropPosition](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html#Syncfusion_Maui_TreeView_ItemDraggingEventArgs_DropPosition): Returns the position where dragged nodes are going to be dropped.
* [Position](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.ItemDraggingEventArgs.html#Syncfusion_Maui_TreeView_ItemDraggingEventArgs_Position): Returns the touch position of the drag item from the screen coordinates.
* `Cancel`: If this member is set to true, the drag and drop operation will be canceled.

## Auto scroll options

Auto-scrolling during drag-and-drop operations in the `SfTreeView` enhances the user experience by automatically scrolling the view when dragging an item near the edges.

### Auto Scroll Margin

To adjust the auto-scroll margin in `SfTreeView`, set the `ScrollMargin` property of the `AutoScroller` to enable auto-scrolling while dragging. The default value is `15`. Auto-scrolling will be triggered when the drag item is within the `ScrollMargin` from the view's bounds.
To adjust the auto-scroll margin in `SfTreeView`, set the [ScrollMargin](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html#Syncfusion_Maui_TreeView_AutoScroller_ScrollMargin) property of the [AutoScroller](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html) to enable auto-scrolling while dragging. The default value is `15`. Auto-scrolling will be triggered when the drag item is within the `ScrollMargin` from the view's bounds.

N> To disable auto-scrolling, set the `ScrollMargin` to `0`.

Expand All @@ -177,7 +177,7 @@ treeView.AutoScroller.ScrollMargin = 20;

### Auto Scroll Interval

Adjust the auto-scroll interval during dragging by setting the `Interval` property of the `AutoScroller`. The default interval is `150 milliseconds`.
Adjust the auto-scroll interval during dragging by setting the [Interval](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html#Syncfusion_Maui_TreeView_AutoScroller_Interval) property of the [AutoScroller](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html). The default interval is `150 milliseconds`.

{% tabs %}
{% highlight c# hl_lines="3" %}
Expand All @@ -189,7 +189,7 @@ treeView.AutoScroller.Interval = new TimeSpan(0, 0, 0, 0, 200);

### Disable Outside Scroll

To prevent auto-scrolling when the dragged item is moved outside the `SfTreeView` during a drag, set the `AllowOutsideScroll` property of the `AutoScroller` to `false`. The default value is `true`.
To prevent auto-scrolling when the dragged item is moved outside the `SfTreeView` during a drag, set the [AllowOutsideScroll](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html#Syncfusion_Maui_TreeView_AutoScroller_AllowOutsideScroll) property of the [AutoScroller](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.AutoScroller.html) to `false`. The default value is `true`.

{% tabs %}
{% highlight c# hl_lines="3" %}
Expand All @@ -203,7 +203,7 @@ treeView.AutoScroller.AllowOutsideScroll = false;

### Enable Auto Expand

To enable auto-expanding of nodes when dragging items over them, set the `CanAutoExpand` property to `true`. The default value is `false`.
To enable auto-expanding of nodes when dragging items over them, set the [CanAutoExpand](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.DragAndDropController.html#Syncfusion_Maui_TreeView_DragAndDropController_CanAutoExpand) property to `true`. The default value is `false`.

{% tabs %}
{% highlight xaml hl_lines="6" %}
Expand All @@ -229,7 +229,7 @@ treeView.DragAndDropController.CanAutoExpand = true;

### Auto Expand Delay

To set the delay for auto-expanding nodes, use the `AutoExpandDelay` property. The default value is `3 seconds`.
To set the delay for auto-expanding nodes, use the [AutoExpandDelay](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.TreeView.DragAndDropController.html#Syncfusion_Maui_TreeView_DragAndDropController_AutoExpandDelay) property. The default value is `3 seconds`.

{% tabs %}
{% highlight xaml hl_lines="6" %}
Expand Down Expand Up @@ -276,7 +276,7 @@ private void TreeView_ItemDragging(object sender, ItemDraggingEventArgs e)

## Cancel dropping for the dragged item

To cancel dropping for the dragged item, handle the `ItemDragging` event based on the conditions of the Action event argument.
To cancel dropping for the dragged item, handle the `ItemDragging` event based on the conditions of the `Action` event argument.

You can cancel the dropping action for an item by setting the `Cancel` property of the `ItemDraggingEventArgs`.

Expand Down