Re: Using EventTriggers gives error
How can I make sure it is compiled and available? I don't get any error/warning to the NoesisGUIPanel component or the console. Rebuilding from Noesis Settings menu didn't help. Now I get this error in Blend:What you have to make sure is that the xaml is correctly processed (without errors) after the InvokeCommand class is compiled and available in the assembly.
-
sfernandez
Site Admin
- Posts: 3184
- Joined:
Re: Using EventTriggers gives error
In Unity, we write messages to the Console window whenever we found warnings or errors processing the xamls. And if the xaml set in the NoesisGUIPanel contains errors, we also show in the component inspector a message to indicate it. You can see it here: http://www.noesisengine.com/docs/Gui.Co ... -noesisgui
The error in Blend maybe is because InvokeCommand class doesn't inherit from UIElement. Make sure of that, and maybe you don't have a public empty constructor for the class either:
The error in Blend maybe is because InvokeCommand class doesn't inherit from UIElement. Make sure of that, and maybe you don't have a public empty constructor for the class either:
Code: Select all
namespace Assets.GloryAssets.Scripts.GUI.NoesisCommands
{
public public class InvokeCommand : FrameworkElement
{
public InvokeCommand()
{
}
...
}
}
Re: Using EventTriggers gives error
Well, it is inherited from FrameWorkElement. After meddling around the issue disappeared, but it reappared after commenting and uncommenting.
Simply creating a new scene and copy-pasting the example codes and putting them to NoesisGUIPanel (and trying rebuilding noesis + adding the public empty constructor) won't work. Red square is drawn, no warnings or errors in console nor in NoesisGUIPanel. InvokeCommandTestBehavior is attached to the NoesisGUIPanel object.
It seems I will have to do the UI differently. Thank you for the help.
Code: Select all
<local:InvokeCommand x:Name="enterCommandInvoker"
Command="{Binding EnterCommand}"
CommandParameter="{Binding ElementName=rect}"/>
Simply creating a new scene and copy-pasting the example codes and putting them to NoesisGUIPanel (and trying rebuilding noesis + adding the public empty constructor) won't work. Red square is drawn, no warnings or errors in console nor in NoesisGUIPanel. InvokeCommandTestBehavior is attached to the NoesisGUIPanel object.
It seems I will have to do the UI differently. Thank you for the help.
Re: Using EventTriggers gives error
Hi Sfernandez,
First, thanks for helping me and Esses with our noesis issues.
After looking at your example with Esses and wondering why it works quite randomly we found out that keytime you placed in your example
Was way too fast for unity/noesis to fire that invokeCommand, after changing time to
Then mouseEnter occured everytime when ever mouse did enter that red rectancle.
First, thanks for helping me and Esses with our noesis issues.
After looking at your example with Esses and wondering why it works quite randomly we found out that keytime you placed in your example
Code: Select all
<DiscreteBooleanKeyFrame KeyTime="0:0:0.01" Value="False"/>
Code: Select all
<DiscreteBooleanKeyFrame KeyTime="0:0:0.1" Value="False"/>
-
sfernandez
Site Admin
- Posts: 3184
- Joined:
Re: Using EventTriggers gives error
I guess my machine was faster
Anyway, the trick here is just provide a change in the value to fire the trigger, so it is ok to use a bigger duration.
I'm glad it worked fine.
Anyway, the trick here is just provide a change in the value to fire the trigger, so it is ok to use a bigger duration.
I'm glad it worked fine.
Re: Using EventTriggers gives error
Anyway, I am not sure if this behavior is correct. Even if you use a very small delta time, the command should be invoked.
We are investigating it.
Thanks!
We are investigating it.
Thanks!
- MarcusM-PDX
- Posts: 7
- Joined:
Re: Using EventTriggers gives error
A bit of a necro here, but for anyone that sees this, one useful thing you can do which appears to work for me is that instead of the following:
You can set the FillBehavior on the BooleanAnimationUsingKeyFrames to "Stop" and do without the False value. Like so:
I believe this now makes the resetting of the behavior immune to the framerate issues that were discussed before.
Code: Select all
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="enterCommandInvoker"
Storyboard.TargetProperty="Invoke">
<DiscreteBooleanKeyFrame KeyTime="0" Value="True"/>
<DiscreteBooleanKeyFrame KeyTime="0:0:0.01" Value="False"/>
</BooleanAnimationUsingKeyFrames>
Code: Select all
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="enterCommandInvoker"
Storyboard.TargetProperty="Invoke"
FillBehaviour="Stop">
<DiscreteBooleanKeyFrame KeyTime="0" Value="True"/>
</BooleanAnimationUsingKeyFrames>
-
sfernandez
Site Admin
- Posts: 3184
- Joined:
Re: Using EventTriggers gives error
Thanks a lot for sharing, this makes more sense as the animated value is removed as soon as the animation finishes, automatically restoring the oringinal false value.
- MarcusM-PDX
- Posts: 7
- Joined:
Re: Using EventTriggers gives error
No problem, happy to help! The CommandInvoker solved a lot of problems for me, so I was happy to give back! :D
Who is online
Users browsing this forum: Ahrefs [Bot] and 1 guest