Hello, so i'm trying to make dynamic RadialMenu, i passed list of objects to ItemsSource as binding, now for some reason whenever i start project, that binding is trying to convert those objects to
System.Windows.Media.Brush?
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'EchoTemplate.ViewModels.Navigation.NavigationItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. NavigationItem:'EchoTemplate.ViewModels.Navigation.NavigationItem' BindingExpression:Path=; DataItem='NavigationItem' (HashCode=43556055); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
<syncfusion:SfRadialMenu CenterBackButtonForeground="{StaticResource Green_Echo_Brush}" RadiusX="200" RadiusY="200" IsOpen="True" CenterRimRadiusFactor=".20" EnableFreeRotation="False" RimRadiusFactor=".90" Items ItemsSource="{Binding NavigationItems}" > <syncfusion:SfRadialMenu.Icon> <Image Source="../../Resources/Images/Logo/64x64_LOGO.png" Width="64" Stretch="Uniform"/> </syncfusion:SfRadialMenu.Icon> <syncfusion:SfRadialMenu.ItemTemplate> <DataTemplate> <syncfusion:SfRadialMenuItem ShowMouseOverStyle="True" Command="{Binding Command}"> <syncfusion:SfRadialMenuItem.Header> <StackPanel Orientation="Vertical" Margin="15"> <Image Source="{Binding ImagePath}" Width="64" Height="64" Stretch="UniformToFill"/> <TextBlock Text="{Binding Name}" HorizontalAlignment="Center"/> </StackPanel> </syncfusion:SfRadialMenuItem.Header> </syncfusion:SfRadialMenuItem> </DataTemplate> </syncfusion:SfRadialMenu.ItemTemplate> </syncfusion:SfRadialMenu>
Hi NightCore,
We were unable to reproduce the reported issue at our end. We have attached the tested RadialMenu sample for your reference. Kindly review the attached sample and apply any required modifications to reproduce the problem. Afterward, kindly forward the sample to us or share issue replication sample with replication steps. Additionally, Please share code snippet for the items source used in SfRadialMenu. This will enable us to closely predict your issue and offer a more accurate solution.
Regards,
Brundha V.
So I tried loading the attachment you sent, and it doesn't seem to be working, while there is menu and you can see the item names (copy, paste, bold and cut), theres no images and when I hover over any of the items it doesnt show that im hovering and they're not clickable.
Hi NightCore,
Sorry for the inconvenience.
We have recreated the RadialMenu sample with the provided information. Now the images will display, and the radial menu items are clickable in the SfRadialMenu control. Kindly recheck the attached sample and apply any required modifications to reproduce the problem. Afterward, kindly forward the sample to us or share issue a replication sample with replication steps. This will enable us to closely predict your issue and offer a more accurate solution.
If you are facing issue while uploading the sample, then please remove the "bin" and "obj" folders from the sample and share the sample to us.
Regards,
Brundha V.
Hello,
Thanks a lot got it working now, tho now I'm facing a different issue where if I hover over images in the menu the hover effect on the menu doesn't work, since I don't have direct access to the ShowMouseOverStyle property. And for some reason, there seem to be lots of binding errors in debug console while the menu is getting generated.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
I also tried the following code, which errors in Null References
<UserControl
x:Class="Respirometer.WPF.Views.Navigation.NavigationMenuComponent"
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:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:viewmodel="clr-namespace:Respirometer.WPF.ViewModels.Navigation"
xmlns:store="clr-namespace:Respirometer.WPF.Stores"
xmlns:local="clr-namespace:Respirometer.WPF.Views.Navigation"
d:DataContext="{d:DesignInstance Type=viewmodel:NavigationMenuViewModel}"
mc:Ignorable="d">
<UserControl.Resources>
<DataTemplate x:Key="MenuItemTemplate" DataType="{x:Type store:RadialMenuItem}">
<syncfusion:SfRadialMenuItem ShowMouseOverStyle="True"
Command="{Binding Command}"
ItemsSource="{Binding SubItems}"
ItemTemplate="{DynamicResource MenuItemTemplate}">
<syncfusion:SfRadialMenuItem.Header>
<StackPanel IsHitTestVisible="False">
<Image
Width="64"
Height="64"
HorizontalAlignment="Center"
IsHitTestVisible="False"
Source="{Binding ImagePath, FallbackValue='Resources/Icons/Home-icon.png'}"
Stretch="UniformToFill">
<Image.Effect>
<DropShadowEffect
BlurRadius="15"
Direction="310"
ShadowDepth="1" />
</Image.Effect>
</Image>
<Label
HorizontalAlignment="Center"
Content="{Binding Name, FallbackValue=Home}"
IsHitTestVisible="False" />
</StackPanel>
</syncfusion:SfRadialMenuItem.Header>
</syncfusion:SfRadialMenuItem>
</DataTemplate>
</UserControl.Resources>
<syncfusion:SfRadialMenu
CenterBackButtonForeground="{StaticResource Green_Echo_Brush}"
CenterRimRadiusFactor="0.22"
CommandPath="Command"
EnableFreeRotation="False"
IsEnabled="{Binding IsEnabled}"
IsOpen="{Binding IsOpen, Mode=TwoWay, FallbackValue=true}"
ItemsSource="{Binding NavigationItems}"
RadiusX="200"
RadiusY="200"
RimRadiusFactor="0.95">
<syncfusion:SfRadialMenu.Effect>
<DropShadowEffect
BlurRadius="15"
Direction="280"
ShadowDepth="1" />
</syncfusion:SfRadialMenu.Effect>
<syncfusion:SfRadialMenu.Icon>
<Image
Width="64"
Source="/Resources/Images/Logo/128x128_LOGO.png"
Stretch="Uniform" />
</syncfusion:SfRadialMenu.Icon>
<syncfusion:SfRadialMenu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding SubItems}" DataType="{x:Type store:RadialMenuItem}">
<syncfusion:SfRadialMenuItem ShowMouseOverStyle="True"
Command="{Binding Command}"
CommandParameter="{Binding CommandParameter}">
<syncfusion:SfRadialMenuItem.Header>
<StackPanel IsHitTestVisible="False">
<Image
Width="64"
Height="64"
HorizontalAlignment="Center"
IsHitTestVisible="False"
Source="{Binding ImagePath, FallbackValue='Resources/Icons/Home-icon.png'}"
Stretch="UniformToFill">
<Image.Effect>
<DropShadowEffect
BlurRadius="15"
Direction="310"
ShadowDepth="1" />
</Image.Effect>
</Image>
<Label
HorizontalAlignment="Center"
Content="{Binding Name, FallbackValue=Home}"
IsHitTestVisible="False" />
</StackPanel>
</syncfusion:SfRadialMenuItem.Header>
</syncfusion:SfRadialMenuItem>
</HierarchicalDataTemplate>
</syncfusion:SfRadialMenu.ItemTemplate>
</syncfusion:SfRadialMenu>
</UserControl>
public sealed class RadialMenuItem
{
public required string Name { get; init; }
public required string ImagePath { get; init; }
public ICommand? Command { get; init; }
public object? CommandParameter { get; init; }
public List<RadialMenuItem>? SubItems { get; init; }
}
var homeNavigationItem = new RadialMenuItem()
{
Name = "Measurements",
ImagePath = "/Resources/Icons/monitor.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<MeasurementsOverviewViewModel>>())
};
var calibrationNavigationItem = new RadialMenuItem()
{
Name = "Calibration",
ImagePath = "/Resources/Icons/sliders.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<MeasurementsOverviewViewModel>>())
};
Hi NightCore,
Query 1: Binding errors occurs in debug console while the menu is getting generated
Currently, we are validating the reported issue in our source level and will let you know the details on August 02, 2023. We appreciate your patience until then.
Query 2: System.NullReferenceException is thrown
We have checked your query and we are able to reproduce the reported issue at our end. We have logged a bug report for this. You can track the status of the bug through the feedback link provided below.
We will share a patch for the reported issue on August 11, 2023. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Disclaimer: “Inclusion of this solution in the weekly release may change due to other factors including but not limited to QA checks and works reprioritization.”
Regards,
Brundha V.
Hi NightCore,
Currently, we are validating the reported issue "Binding errors occur in debug console while the menu is getting generated" in our source level and will let you know the details on or before August 04, 2023. We appreciate your patience until then.
Regards,
Brundha V.
Hi NightCore,
Query : Binding errors occurs in debug console while the menu is getting generated
We are able to reproduce the reported issue at our end. We are investigating
the root cause for the reported issue in our source level. We will let you know
the details on August 07, 2023. We appreciate your patience until then.
Regards,
Brundha V.
Hi NightCore,
Query : Binding errors occurs in debug console while the menu is getting generated
We are able to reproduce the reported issue at our end. We have logged a bug report for this. You can track the status of the bug through the feedback link provided below.
We will share a patch for the reported issue on August 17, 2023. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Disclaimer: “Inclusion of this solution in the weekly release may change due to other factors including but not limited to QA checks and works reprioritization.”
Regards,
Brundha V.
Hi NightCore,
Thanks for your patience.
Query 2: System.NullReferenceException is thrown
We have fixed the reported issue "System.NullReferenceException is thrown when hovering the mouse over the radial menu items in rare cases", Kindly get the fixed Assembly and NuGet using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release on August 22, 2023. We appreciate your patience until then.
Assembly version: 22.2.5
Assembly Link: https://syncfusion.com/Installs/support/patch/22.2.5/1415365/F183581/SyncfusionPatch_22.2.5_1415365_8112023025145155_F183581.zip
Disclaimer:
Please note that we have created this patch for version 22.2.5 specifically, to resolve the issue reported in this. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Regards,
Brundha V
Hello,
I downloaded the patch you provided to me and applied it to my project/solution, then I followed the instructions on the wiki page (https://help.syncfusion.com/wpf/radial-menu/populating-items)on how to do item binding on the radial menu, and I still encountered the following problems:
1.
If the menu item itself has sub-items (like a submenu), there's the binding error:
System.Windows.Data Error: 40 : BindingExpression path error: 'HasItems' property not found on 'object' ''RadialMenuItem' (HashCode=3285280)'. BindingExpression:Path=HasItems; DataItem='RadialMenuItem' (HashCode=3285280); target element is 'Path' (Name='PART_Arrow'); target property is 'Visibility' (type 'Visibility')
I'm not really sure why the HasItems property should be TwoWay and why it requires it.
It also doesn't add the arrow in the rim part of the menu. I assume that's part of the binding error.
2.
I have issues with command binding, I have commands that require parameters and I can't find a way to bind command parameters to the item, like there is for the command itself property "CommandPath" It would be nice if there was something similar for the command parameters, some sort of CommandParameterPath binding.
3.
There are still some binding errors regarding Brushes:
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Respirometer.WPF.Stores.RadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. RadialMenuItem:'Respirometer.WPF.Stores.RadialMenuItem' BindingExpression:Path=; DataItem='RadialMenuItem' (HashCode=3285280); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'Syncfusion.Windows.Controls.Navigation.SfRadialMenuItem' and 'System.Windows.Media.Brush'. Consider using Converter property of Binding.
System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property. SfRadialMenuItem:'SfRadialMenuItem' (Name='') BindingExpression:Path=; DataItem='SfRadialMenuItem' (Name=''); target element is 'OuterRimItem' (Name=''); target property is 'RimActiveBrush' (type 'Brush')
4.
I'm also having issues with hovering effects on the items, whenever I hover directly over the item in the menu (its label or image in this example), the hovering glow effect disappears from the background, in the XAML version of the code there was a property called: ShowMouseOverStyle which fixed that issue, but in this example, there's no way to access this property.
Code I used to generate the menu:
The menu store:
public sealed class RadialMenuItem
{
public required string Name { get; init; }
public required string ImagePath { get; init; }
public ICommand? Command { get; init; }
public object? CommandParameter { get; init; }
public List<RadialMenuItem>? SubItems { get; init; }
}
public sealed class RadialNavigationItemsStore : IRadialNavigationItemsStore
{
private readonly List<RadialMenuItem> _radialMenuItems = new();
public IEnumerable<RadialMenuItem> RadialMenuItems => _radialMenuItems;
public void Add(RadialMenuItem radialMenuItem)
{
_radialMenuItems.Add(radialMenuItem);
}
}
Adding items to the menu:
var homeNavigationItem = new RadialMenuItem()
{
Name = LanguageStrings.navigationMeasurementsString,
ImagePath = "/Resources/Images/Navigation/Lab-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<MeasurementsOverviewViewModel>>())
};
var calibrationNavigationItem = new RadialMenuItem()
{
Name = LanguageStrings.navigationCalibrationString,
ImagePath = "/Resources/Images/Navigation/Target-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<ChartViewModel>>())
};
var serviceMenuNavigationItem = new RadialMenuItem()
{
Name = LanguageStrings.settingsString,
ImagePath = "/Resources/Icons/Settings.png",
SubItems = new()
{
new RadialMenuItem()
{
Name = LanguageStrings.themeSettingsString,
ImagePath = "/Resources/Images/Navigation/Theme-icon.png",
SubItems = new()
{
new RadialMenuItem()
{
Name = LanguageStrings.darkThemeString,
ImagePath = "/Resources/Images/Navigation/Theme-iconDark.png",
Command = new ChangeThemeCommand(s.GetRequiredService<IThemeStore>()),
CommandParameter = AvailableThemes.Dark
},
new RadialMenuItem()
{
Name = LanguageStrings.lightThemeString,
ImagePath = "/Resources/Images/Navigation/Theme-iconLight.png",
Command = new ChangeThemeCommand(s.GetRequiredService<IThemeStore>()),
CommandParameter = AvailableThemes.Light
},
new RadialMenuItem()
{
Name = LanguageStrings.darkBlueThemeString,
ImagePath = "/Resources/Images/Navigation/Theme-iconDarkBlue.png",
Command = new ChangeThemeCommand(s.GetRequiredService<IThemeStore>()),
CommandParameter = AvailableThemes.DarkBlue
},
new RadialMenuItem()
{
Name = LanguageStrings.lightBlueThemeString,
ImagePath = "/Resources/Images/Navigation/Theme-iconLightBlue.png",
Command = new ChangeThemeCommand(s.GetRequiredService<IThemeStore>()),
CommandParameter = AvailableThemes.LightBlue
},
}
},
new RadialMenuItem()
{
Name = LanguageStrings.navigationConnectionsString,
ImagePath = "/Resources/Images/Navigation/App-network-connection-manager-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<ConnectionsContainerViewModel>>())
},
new RadialMenuItem()
{
Name = LanguageStrings.navigationServiceMenuString,
ImagePath = "/Resources/Icons/settings.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<ServiceMenuViewModel>>())
}
}
};
var infoNavigationItem = new RadialMenuItem()
{
Name = LanguageStrings.navigationInfoString,
ImagePath = "/Resources/Images/Navigation/Info-icon.png",
SubItems = new()
{
new RadialMenuItem()
{
Name = LanguageStrings.navigationCompanyInfoString,
ImagePath = "/Resources/Images/Navigation/Info-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<CompanyInfoViewModel>>())
},
new RadialMenuItem()
{
Name = LanguageStrings.navigationHardwareInfoString,
ImagePath = "/Resources/Images/Navigation/App-hardware-info-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<CompanyInfoViewModel>>())
},
new RadialMenuItem()
{
Name = LanguageStrings.navigationSoftwareInfoString,
ImagePath = "/Resources/Images/Navigation/App-info-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<CompanyInfoViewModel>>())
},
new RadialMenuItem()
{
Name = LanguageStrings.navigationSupportString,
ImagePath = "/Resources/Images/Navigation/App-help-icon.png",
Command = new NavigateCommand(s.GetRequiredService<NavigationService<ContactSupportViewModel>>())
}
}
};
var radialNavigationItemStore = new RadialNavigationItemsStore();
radialNavigationItemStore.Add(homeNavigationItem);
radialNavigationItemStore.Add(serviceMenuNavigationItem);
radialNavigationItemStore.Add(calibrationNavigationItem);
radialNavigationItemStore.Add(infoNavigationItem);
return radialNavigationItemStore;
UserControl:
<UserControl
x:Class="Respirometer.WPF.Views.Navigation.NavigationMenuComponent"
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:syncfusion="http://schemas.syncfusion.com/wpf"
xmlns:viewmodel="clr-namespace:Respirometer.WPF.ViewModels.Navigation"
d:DataContext="{d:DesignInstance Type=viewmodel:NavigationMenuViewModel}"
mc:Ignorable="d">
<syncfusion:SfRadialMenu
CenterBackButtonForeground="{StaticResource Green_Echo_Brush}"
CenterRimRadiusFactor="0.22"
CommandPath="Command"
EnableFreeRotation="False"
IsEnabled="{Binding IsEnabled}"
IsOpen="{Binding IsOpen, Mode=TwoWay, FallbackValue=true}"
ItemsSource="{Binding NavigationItems}"
RadiusX="200"
RadiusY="200"
RimRadiusFactor="0.95">
<syncfusion:SfRadialMenu.Effect>
<DropShadowEffect
BlurRadius="15"
Direction="280"
ShadowDepth="1" />
</syncfusion:SfRadialMenu.Effect>
<syncfusion:SfRadialMenu.Icon>
<Image
Width="64"
Source="/Resources/Images/Logo/128x128_LOGO.png"
Stretch="Uniform" />
</syncfusion:SfRadialMenu.Icon>
<syncfusion:SfRadialMenu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding SubItems}">
<StackPanel>
<Image
Panel.ZIndex="-1"
Width="64"
Height="64"
HorizontalAlignment="Center"
Source="{Binding ImagePath}"
Stretch="UniformToFill">
<Image.Effect>
<DropShadowEffect
BlurRadius="15"
Direction="310"
ShadowDepth="1" />
</Image.Effect>
</Image>
<Label
Panel.ZIndex="-1"
HorizontalAlignment="Center"
Content="{Binding Name, FallbackValue=Home}"/>
</StackPanel>
</HierarchicalDataTemplate>
</syncfusion:SfRadialMenu.ItemTemplate>
</syncfusion:SfRadialMenu>
</UserControl>
I attached a Zip file with some screenshots/videos for issues 1 and 4. And i would also like to ask if there are any more detailed instructions on how to use the menu itself, as the one provided on the wiki page doesn't explain much, and I'm having trouble understanding how all the features work. Regards, Gasper L.
Hi NightCore,
Query 1: Binding errors occurs in debug console while the menu is getting generated
We have fixed the reported issue in net46 and shared the fixed custom Assembly file in the attachment. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release on August 22, 2023. We appreciate your patience until then.
Assembly version: 22.2.9(.net46)
Disclaimer:
Please note that we have created this patch for version 22.2.9 specifically, to resolve the issue reported in this. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Currently, we are validating the reported other queries based on your provided information and will let you know the details on August 21, 2023. We appreciate your patience until then.
Regards,
Brundha V
Hi NightCore,
Query 1 and 3:
We have fixed the mentioned binding errors in RadialMenu and provided the patch for this fix in previous update. And that fix will be included in our upcoming weekly release on August 22, 2023. We appreciate your patience until then.
Query 2:
We would like to inform you that, CommandParameters API was already available in the SfRadialMenuItem.
Query 4:
We can't directly access the ShowMouseHover API in SfRadialMenu. We can access ShowMouseHover API throw through the SfRadialMenuItem only.
We have created the RadialMenu sample based on the your requirements and attached the sample for your reference. In sample, we have created the SfRadialMenu item collection in view model and binded the radial menu item collection with the items source property.
Please take a look at the provided sample and feel free to reach out if you have any further questions or concerns.
Regards,
Brundha V
Hi NightCore,
Thanks for your patience.
We have included the fix for the reported issues "Binding errors occur in debug console while the menu is getting generated and System.NullReferenceException is thrown in SfRadialMenu" in our latest weekly NuGet release v22.2.10 which is available for download ( https://www.nuget.org/ ). We thank you for your support and appreciate your patience in waiting for this update. Please get in touch with us if you would require any further assistance.
Regards,
Brundha V.
Hi,
I am countinuing with this topic and have made a github repository with a test solution.
https://github.com/DanielPukel/SfRadialMenuTest
I am not sure how to implement nested menus if loaded dynamically from a viewmodel. Currently I have my own model. It looks something like this.
https://help.syncfusion.com/wpf/radial-menu/populating-items
The problems are:
Please let me know if there is a way for me to fix these issues.
Best regards,
Daniel
Hi Daniel,
Query 1: Issues with nested menu items, expander not showing correctly and Hovering effects not visible
Upon examining the provided sample, we observed that you didn't utilize or inherit the SfRadialMenuItem. Instead, you used properties created in the RadialMenuItem class. Consequently, the expander for showing subitems and hovering effects are not visible. It's important to note that features like ShowMouseOverStyle and sub-items indicator are exclusive to the SfRadialMenuItem, not directly accessible in SfRadialMenu. We would like to inform you that when using ItemTemplate in SfRadialMenu, mouse-over style and sub-items indicator are not shown.
Please refer the below code snippet for this:
|
// In RadialMenuItem class
public sealed class RadialMenuItem : SfRadialMenuItem { }
// In HostExtensions class
public static RadialMenuItem CreateItem(string description, string imagePath, ICommand? command = default, object? commandParameter = default) { StackPanel stackPanel = new StackPanel(); BitmapImage imageSource = new BitmapImage(); imageSource.BeginInit(); imageSource.UriSource = new Uri(imagePath, UriKind.Relative); imageSource.EndInit(); Image image = new Image { Source = imageSource, Width = 64, Height = 64,
}; TextBlock label = new TextBlock() { Text = description, TextAlignment = System.Windows.TextAlignment.Center }; stackPanel.Children.Add(image); stackPanel.Children.Add(label); var menuItem = new RadialMenuItem() { Header = stackPanel, FontSize=20, ShowMouseOverStyle=true, Command = command, CommandParameter = commandParameter }; return menuItem; }
|
We have modified the sample based on this and attached the sample for your reference. Please review the attached sample and feel free to reach out if you have any further questions.
Query 2: There is a CommandPath property on SfRadialMenu but not CommandParameterPath
We would like to inform you that, CommandParameter API was available only in the SfRadialMenuItem .
Regards,
Brundha V
Dear Brundha,
Thank you for clearing some things up. I applied your suggestions and it works.
However I still have some minor issuess.
Hi Daniel,
Currently, we are validating the reported queries in different scenarios based on provided information, and we will share the details on or before November 30, 2023. We appreciate your patience until then.
Regards,
Brundha V
Hi Daniel,
Thank you for the patience.
Regarding Query, you can also see a dotted rectangle around the RadialMenu icon.
We were not able to reproduce the reported issue at our end. Could you please the share replication steps to reproduce this issue at our end. This will enable us to closely predict your issue and offer a more accurate solution.
Query 2: SfRadialMenu item has subtitems, you can only access them by clicking on the outside rim of the menu item or alternatively, outside of the header container
We want to provide clarity on the current functionality of the SfRadialMenu. The intentional design is such that accessing sub-items is limited to clicking on the outer rim. Clicking outside the header container to access the sub-menu is considered unintended behavior. We will modify this behaviour in the future.
We have reviewed your queries 1, 3, and 4 based on the provided information and have been able to reproduce the reported issues at our end. We have logged a bug report for these issues. You can track the status of the bug through the feedback link provided below.
Query 1: Using SfSkinManager themes the expander doesn't apply theme colors.
Feedback link : https://www.syncfusion.com/feedback/48877/skinmanager-theme-not-updated-properly-on-wpf-sfradialmenu
We will share a patch for the reported issue on December 14, 2023. We appreciate your patience until then.
Query 3: Highlighting sometimes doesn't capture the whole item. This is especially visible if there are fewer items within.
Feedback link : https://www.syncfusion.com/feedback/48878/mousehoverstyle-did-not-applied-correctly-on-the-wpf-sfradialmenu
We will share a patch for the reported issue on December 18, 2023. We appreciate your patience until then.
Query 4: In the sub menus the items seem to be closer to the rim than in initial menu.
Feedback link : https://www.syncfusion.com/feedback/48879/sub-menu-items-header-closer-to-the-rim-than-the-initial-menu-in-wpf-sfradialmenu
We will share a patch for the reported issue on December 20, 2023. We appreciate your patience until then.
Note: The provided feedback links are private, and you need to log in to view these feedbacks.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Disclaimer: “Inclusion of this solution in the weekly release may change due to other factors including but not limited to QA checks and works reprioritization.”
Regards,
Brundha V
Dear Brundha.
Thank you for your responsiveness and thorough response.
One thing I forgot to mention is if I have Cursor on a RadialMenuItem as hand, the cursor only changes while hovering over header (image and textblock).
As to the functionality that you can only access subitems by clicking on the outer rim, I find this somehow tedious as the rim has a smaller surface area, at least in my design. If I may I would suggest that you can at least link/bind command to open subitem menu.
I am looking forward for the bugfixes.
Best regards,
Daniel
Hi Daniel,
Currently, we are validating the reported queries at our end based on provided information, and will share the details on December 6, 2023. We appreciate your patience until then.
Regards,
Brundha V
Hi Daniel,
Query 1: If I have Cursor on a RadialMenuItem as hand, the cursor only changes while hovering over header (image and textblock).
We are able to replicate the reported issue at our end. We will share the details of this issue on December 8, 2023. We appreciate your patience until then.
Query 2: As to the functionality that you can only access subitems by clicking on the outer rim, I find this somehow tedious as the rim has a smaller surface area, at least in my design. If I may I would suggest that you can at least link/bind command to open subitem menu.
Regarding your suggestion to link/bind commands to open the subitem menu, we would like to inform you that the current behavior you described is the default functionality of the WPF SfRadialMenu.
Regards,
Brundha V
Hi Daniel,
Query 1: If I have Cursor on a RadialMenuItem as hand, the cursor only changes while hovering over header (image and textblock).
We have validated the reported issue and logged a bug report for this issue. You can track the status of the bug through the feedback link provided below.
We will share a patch for the reported issue on December 22, 2023. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Disclaimer: “Inclusion of this solution in the weekly release may change due to other factors including but not limited to QA checks and works reprioritization.”
Regards,
Brundha V
Hi Daniel,
Query 1: Using SfSkinManager themes the expander doesn't apply theme colors.
We have fixed the reported issue "SkinManager theme not updated properly on OuterRim SfRadialMenu WPF", Kindly get the fixed Assembly and NuGet using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release, tentatively scheduled for the end of December. We will notify you once NuGet is released and appreciate your understanding and patience until that time.
Assembly version: 23.2.4
Assembly Link:
NuGet :
Disclaimer:
Please note that we have created this patch for version 23.2.4 specifically, to resolve the issue reported in this incident. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Kindly, refer the below KB to install the custom NuGet on a local machine,
Regards,
Brundha V
Hi Daniel,
Query 3: Highlighting sometimes doesn't capture the whole item. This is especially visible if there are fewer items within.
We have fixed the reported issue "Highlighting sometimes doesn't capture the whole item. This is especially visible if there are fewer items within", Kindly get the fixed Assembly and NuGet using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release, tentatively scheduled for the end of December. We will notify you once NuGet is released and appreciate your understanding and patience until that time.
Assembly version: 23.2.4
Assembly Link:
NuGet :
Disclaimer:
Please note that we have created this patch for version 23.2.4 specifically, to resolve the issue reported in this incident. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Kindly, refer the below KB to install the custom NuGet on a local machine,
Regards
Anandhan R
Query 4: In the sub menus the items seem to be closer to the rim than in initial menu.
Upon a detailed examination of the issue, it has been determined that the current behavior of the control, Each item is positioned relative to the widest item present. In the primary panel, the "Sub Items" element has the greatest width, which sets the alignment standard for the other items. Consequently, the "Chart" and "Info" icons are centered according to the width of "Sub Items."
As a result, if the items sub-menus appear too close to the rim for your preference, you have the option to adjust the spacing at the sample level, you can provide the Width value to the specified RadialMenuItem to increase the space between the rim and radial menu items. For your convenience, we've provided a sample that demonstrates this adjustment. In the sample, the widths of the radial menu items are altered by inserting specific code lines into the CreateItem method within the HostExtension class.
CSharp
|
if(string.Equals(description, "Things", StringComparison.OrdinalIgnoreCase) || string.Equals(description, "Themes", StringComparison.OrdinalIgnoreCase)) { menuItem.Width = 100; } |
Regards,
Ahamed Ali Nishad.
Hi Daniel,
Query : If I have Cursor on a RadialMenuItem as hand, the cursor only changes while hovering over header (image and textblock).
We have fixed the reported issue "Cursor hand icon only active on RadialMenuItem Header, not the entire area of SfRadialMenuItem", Kindly get the fixed Assembly and NuGet using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release which is scheduled on December 27, 2023. We appreciate your patience until then.
Assembly version: 24.1.41
Assembly Link:
NuGet :
Disclaimer:
Please note that we have created this patch for version 24.1.41 specifically, to resolve the issue reported in this incident. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Kindly, refer the below KB to install the custom NuGet on a local machine,
Regards,
Brundha V
Hi Daniel,
Query 1: Using SfSkinManager themes the expander doesn't apply theme colors.
Query 3: Highlighting sometimes doesn't capture the whole item. This is especially visible if there are fewer items within.
Query : If I have Cursor on a RadialMenuItem as hand, the cursor only changes while hovering over header (image and textblock).
We have included the fix for the above mentioned reported issues in our latest weekly NuGet v24.1.43, which is available for download ( https://www.nuget.org/ ). We thank you for your support and appreciate your patience in waiting for this release.
Regards,
Kamalesh P
Dear Kamalesh,
Thank you for your support in solving these issues. I have tested the menu and these thinks seem to work properly now.
However while testing I have found a few other issuess.
Hi Daniel,
Query 1: If I have CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems, specifically Image/Text area. If I click outside that area it opens sub menu normally.
We would like to inform you that the current behavior you described is the default functionality of the WPF SfRadialMenu.
Query 2, 3:
Currently, we are validating the reported query based on provided information and will share the details on January 8, 2024. We appreciate your patience until then.
Regards,
Brundha V
Hi Daniel,
Query 2, 3:
We are able to reproduce the reported issues at our end. Currently, we examining the provided sample to address the issue at the sample level itself. We will provide you with the details by January 10, 2024. Thank you for your patience during this process.
Regards,
Brundha V
Hi Daniel,
Queries 2 and 3: When changing the theme, the menu disappears and Text within radial menu item does not apply color change when changing the theme
We were able to reproduce the reported issue "When dynamically changing the theme in SfRadialMenu, the SfRadialMenuItem disappears". We have logged a bug report for this. You can track the status of the bug through the feedback link provided below.
We will share a patch for the reported issue on January 24, 2024. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Regards,
Ahamed Ali Nishad.
Dear all,
Thanks for resolving these issues.
I will expand on my 1st query:( Query 1: If I have CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems, specifically Image/Text area. If I click outside that area it opens sub menu normally. )
I just want to make sure you have understood me correctly, as the current behaviour doesn't seem logical to me.
I have highlighted the areas with a green and a red marker.
If I have close on execute enabled on item containing subitems and I click on a red area, it doesn't open the sub menu. It just closes the menu and does nothing. However when I click outside the red area and within green area it opens submenu correctly.
I think the correct behavior would be if you click on any area within an item containing subitems it should open submenu, no matter the state of an close on execute flag, otherwise this flag becomes useless if you use nested menus.
Can you please confirm that this is indeed a bug?
Thanks!
Daniel
Hi Daniel,
Query 1: If I have CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems, specifically Image/Text area. If I click outside that area it opens sub menu normally.
Currently, we are examining the reported query at the source level, and we will share a patch for the reported issue on January 24, 2024, along with patches for queries 2 and 3. We appreciate your patience until then.
Regards,
Ahamed Ali Nishad.
Query 1 and 3: If I have CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems, specifically Image/Text area. If I click outside that area it opens sub menu normally. And Text within radial menu item does not apply color change when changing the theme.
We have fixed the reported issue "If the CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems" and "Text within radial menu item does not apply color change when changing the theme", Kindly get the fixed Assembly and NuGet using the link provided below. If you require any further information, please do not hesitate to let us know. This fix will be included in our upcoming weekly release which is scheduled on February 06, 2024. We appreciate your patience until then.
Assembly version: 24.1.41
Assembly Link: https://syncfusion.com/Installs/support/patch/24.1.41/1415365/F183581/SyncfusionPatch_24.1.41_1415365_1242024072338624_F183581.zip
Disclaimer:
Please note that we have created this patch for version 24.1.41 specifically, to resolve the issue reported in this incident. If you have received other patches for the same version for other products, please apply all patches in the order received.
Note: Please refer to the below link to apply the custom assembly
Note: Please clear the NuGet cache, before using the latest one.
https://www.syncfusion.com/kb/6987/how-to-clear-nuget-cache
Kindly, refer the below KB to install the custom NuGet on a local machine,
Query 2: When changing the theme, the menu disappears
We regret to inform the menu disappeared while the theme change was not fixed. After we fixed the query 1 issue "If the CloseOnExecute is enabled, it also closes the menu when clicking on an item containing subitems", you click on a menu item that contains subitems, and the menu closes. This occurs even when you are changing the theme. Consequently, the menu disappearance problem cannot be replicated in this scenario. Could you please verify on your end whether the current scenario of the control meets your needs? We would appreciate your confirmation on this issue.
Regards,
Ahamed Ali Nishad.
Hi Daniel,
Query 1 and 3: If I have CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems, specifically Image/Text area. If I click outside that area it opens sub menu normally. And Text within radial menu item does not apply color change when changing the theme.
We have included the fix for the reported issue "If the CloseOnExecute enabled, it also closes the menu when clicking on item containing subitems and Text within radial menu item does not apply color change when changing the theme" in our latest weekly NuGet release v24.2.4 which is available for download ( https://www.nuget.org/ ). We thank you for your support and appreciate your patience in waiting for this update. Please get in touch with us if you would require any further assistance.
Query 2: When changing the theme, the menu disappears
We regret to inform the menu disappeared while the theme change was not fixed. After we fixed the query 1 issue "If the CloseOnExecute is enabled, it also closes the menu when clicking on an item containing subitems", you click on a menu item that contains subitems, and the menu closes. This occurs even when you are changing the theme. Consequently, the menu disappearance problem cannot be replicated in this scenario. Could you please verify on your end whether the current scenario of the control meets your needs? We would appreciate your confirmation on this issue.
Regards,
Ahamed Ali Nishad.
Dear all,
Thank you for fixing these issues with the radial menu. I have updated to the latest nuget release and it works great.
Best regards,
Daniel
Hi Daniel,
You're welcome.
We are glad to know that the reported problem has been resolved. Please let us know if you require any further assistance on this, we will be happy to assist you.
Regards,
Preethi R
Hi.
I have found another bug. If leave label foreground on the radial item default, the theme color for the label text is applied only to the items on the first layer of the radial menu and not the subitems.
Regards,
Daniel
Hi Daniel ,
Currently, we are checking the reported query and we will let you know the details on or before March 11, 2024. We appreciate your patience until then.
Regards,
Ahamed Ali Nishad.
Hi Daniel,
We have reviewed your query and we are able to reproduce the reported issue on our end. Currently, we are conducting a thorough investigation at the source level with high priority. We will provide you with comprehensive details on or before March 14, 2024. We appreciate your patience in the meantime.
Regards,
Ahamed Ali Nishad.
Hi Daniel ,
We have reviewed your query based on the provided information and have been able to reproduce the reported issue "Theme color not applied to Subitems in SfRadialMenu" at our end. We have logged a bug report for this. You can track the status of the bug through the feedback link provided below.
Link: Bug Report- 51790
We will share a patch for the reported issue on March 28, 2024. We appreciate your patience until then.
Note: The provided feedback link is private, and you need to log in to view this feedback.
If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.
Disclaimer: “Inclusion of this solution in the weekly release may change due to other factors including but not limited to QA checks and works reprioritization.”
Regards,
Kamalesh P
Hi Daniel,
Thank you for your patience.
Upon conducting a thorough investigation, we have determined that the issue arises exclusively when the ItemsSource of the SfRadialMenu control is set. It appears that the sub-level items do not adhere to changes in the theme. Additionally, since the SfRadialMenu control directly utilizes ItemsControl as its base class, we are unable to resolve this issue at the source level. However, we have managed to fulfil your requirement at the sample level by using the loaded event of the SfRadialMenuItem and setting the foreground color value to match the applied theme. We have shared the updated sample with you. Please review it and inform us if it satisfies your needs.
Note: we added workaround codes in HostExtension.cs
Please refer below code snippets for this,
Regards,
Brundha V
Hi.
Thanks for the workaround, it is not ideal for me, but it works.
Could the problem with not adhering to changes be related to menu items not be part of a visual tree?
I noticed when I added them in xaml I would be able to see them in Live Visual Tree but when adding them in code they would not show on it.
Regards,
Daniel
Hi Daniel,
Currently, we are in the process of validating the reported query based on the provided information at our end and will share the further details regarding this issue on or before April 10, 2024.
Regards,
Brundha V
Hi NightCore,
We have analyzed your query. In LiveVisualTree the objects are updated once it loaded in the current window. we are unable to pinpoint the underlying cause because we directly used ItemsControl as the base class. As mentioned earlier, the issue arises solely when radial menu items are set using the ItemsSource. If the radial menu items are added directly using the Items property on the XAML page, the style is applied correctly. However, when using the ItemsSource, the style does not properly affect the sub-items. We are pleased to inform you to use the suggested workaround to resolve this issue.
Best regards,
Prithis I