I'm looking in to using Blazor Hybrid (inside a WPF wrapper) as an alternative to full traditional WPF in the next iteration of our software.
I have a blazor webassembly site and want to share components etc. within both applications (Blazor Hybrid and Blazor Webassembly).
I currently have the following:
I want to add a component library that both the hybrid and webassembly applications can use to share ui.
I have tried a few methods of doing this, using the telerik blazor components, but have ran in to a few road blocks specifically
Before I go much further how supported is the Blazor Hybrid scenario within an WPF wrapper using the telerik blazor library? Are there any examples I can use to move forward?
Any advice would be welcome.
Many thanks,
Rob

I'm using this syntax:
<TelerikMultiSelect Class="searchSurveyor" ClearButton="true" OnRead="ReadItems" Filterable="true" Placeholder="Search Surveyor" OnChange="SetSurveyors"
Width="100%" Data="@_surveyorsData" TextField="TextField" ValueField="ValueField"
@bind-Value="_selectedSurveyorsData">
</TelerikMultiSelect>
I want to make it act like a single select where the last selected value replaces the first. But manipulating the bind-value doesn't seem to help
private async void SetSurveyors(object theUserInput)
{
if (theUserInput == null) return;
_selectedSurveyorsData = (List<string>)theUserInput;
if (_selectedSurveyorsData.Count > 1)
{
_selectedSurveyorsData[0] = _selectedSurveyorsData[1];
_selectedSurveyorsData.RemoveAt(1);
}
}
Any idea?Hey,
I have a grid with columns that are being generated dynamically on load based on a dynamic object. Everything is loading ok, but for some reason the AutoFitAllColumnsAsync doesn't seem to be working. I can't even resize the individual columns using the mouse.
I am loading 117 pages (15 rows per page) of data, but the sorting works fine. Is there any reason you can think of that the resizing wouldn't work?
Here is my grid code
TelerikGrid @ref="@Grid"
Data="@GridData"
Pageable="true"
@bind-PageSize="@PageSize"
Sortable="true"
FilterMode="GridFilterMode.None"
Resizable="true"
Reorderable="true"
EditMode="GridEditMode.None"
Navigable="true"
Class="slim-grid-paddings">
<GridSettings>
<GridPagerSettings InputType="PagerInputType.Input"
PageSizes="@_appSettings.PageSizes"
ButtonCount="5"
Adaptive="true">
</GridPagerSettings>
</GridSettings>
<GridToolBarTemplate>
<GridCommandButton Command="custom" Icon="@FontIcon.MaxWidth" Size="sm" OnClick="@(() => Grid.AutoFitAllColumns())">Auto-fit</GridCommandButton>
<span class="k-toolbar-spacer"></span>
<GridCommandButton Command="ExcelExport" Icon="@FontIcon.FileExcel" Size="sm">To Excel</GridCommandButton>
<span title="Searches the items in the below grid." class="tooltip">
<GridSearchBox DebounceDelay="200" Placeholder="Search" Size="sm" Fields="@SearchFields"></GridSearchBox>
</span>
</GridToolBarTemplate>
<GridColumns>
@if (GridData != null && GridData.Any())
{
var firstItem = GridData.First();
var dictionaryItem = (IDictionary<string, object>)firstItem;
var fields = dictionaryItem.Keys;
foreach (var item in dictionaryItem)
{
<GridColumn Field="@item.Key" FieldType="@typeof(string)"></GridColumn>
}
}
</GridColumns>
</TelerikGrid>
I have a need for the navmenu to be like;
Option1
Option2
Option2-Subopt1
Option2-Subopt2
Then when user clicks on Option2-Subopt1 or Option2-Subopt2 it navigates to the page.
Example:
public IEnumerable<DrawerItem> Data { get; set; } =
new List<DrawerItem>
{
new DrawerItem
{
Title = "Home",
Text = "Home",
Icon = "home",
Url="./"
},
new DrawerItem { Separator = true},
new DrawerItem
{
Title = "General Search",
Text = "General Search",
Icon = "search",
Url="GeneralSearch"
},
etc....
If I want to say give users 2 search options under general search, How would I set that up?

Is there any way to get rid of the Split Button Content? I'd just like to show the arrow and the button options below when clicked. I need to be able to progromattically hide all of the buttons as needed. This would also include the button on display, if needed.
Another option that would work for us is to have the content but have it work similar to the arrow button where clicking it would toggle the dropdown. This would allow me to put a menu icon in that area.
Hello,
I try to scroll to the selected item in grid and w/o success. I use this :
<TelerikGrid Data=@infosEmplacementSource
Class="@theGridClass"
@bind-SelectedItems="@SelectedItems_"
....
string theGridClass { get; set; } = "theSpecialGrid";
public async Task EmplacementSubmitHandler()
{
emplacementMessageStore?.Clear();
infosEmplacementsTelerikDialog.FicheEspaceClosId= ficheEspaceClosId;
var (success, added, error) = await AdditionalInformationDataService.AjoutertlkpEmplacementAsync(infosEmplacementsTelerikDialog, CultureInfo.DefaultThreadCurrentCulture.Name.ToString());
if (success)
{
infosEmplacementSource.Insert(0, new treltlkpEmplacementViewModel
{
tlkpEmplacementId = added.tlkpEmplacementId
});
CloseTelerikDialogAddEmplacementSource();
SelectedItems_ = infosEmplacementSource.Where(item => item.tlkpEmplacementId == added.tlkpEmplacementId).ToList();
await Task.Delay(20);//rougly one rendering frame so this has the chance to render in the browser
await _jsRuntime.InvokeVoidAsync("scrollToSelectedRow", "." + theGridClass);
}
..............// this function takes a selector that describes the desired grid
// and then finds the first selected row, then scrolls to it
// via standard browser methods - effectively, the grid does not
// interact or implement this. Suitable for regular paging mode only, not for virtual scrolling
function scrollToSelectedRow(gridSelector) {
var gridWrapper = document.querySelector(gridSelector);
if (gridWrapper) {
var selectedRow = gridWrapper.querySelector("tr.k-selected");
if (selectedRow) {
selectedRow.scrollIntoView();
}
}
}SelectedItems_ works fine. The row is selected. But scroll not working
Debug javascript and everingthing is found
I have a relatively long running task and would like to show a Dialog box informing the user stuff is happening with a ProgressBar to show completion progress. However when the ProgressBar is in DialogContent it is not updating the UI when I update the Value of the progressbar.
If I put the progressbar in the body of the page it works as expected.
Razor Code is something like:
<TelerikDialog @bind-Visible="@DialogVisible"
Width="500px"
ShowCloseButton="false"
CloseOnOverlayClick="false">
<DialogTitle>Updating</DialogTitle>
<DialogContent>
<p>Assigning stuff...</p>
<TelerikProgressBar Value="@ProgressValue" Max="100"></TelerikProgressBar>
</DialogContent>
</TelerikDialog>Then code is:
@code {
private bool DialogVisible { get; set; } = false;
private double ProgressValue = 0;
private async void ButtonClick()
{
DialogVisible = true;
for (var i = 0; i < 20; i++)
{
ProgressValue = Math.Round((double)i / 20 * 100);
StateHasChanged();
await Task.Delay(1000);
}
}
}

Hi
I am swtiching from asp.net ajax to blazor server. I have used your controls for many years.
I developed a navigation with tabstrips in 2 levels you can view a short video https://youtu.be/r27mRYvaxlk
I used a aspx with RadSpliter: on top I put the main menu this calls js function to add new Tab on Tabstrip and put another aspx inside. Ypu can see on video that Url never changes.
I want to replicate it now in Blazor, can I do with your controls?
Thanks in advance