wsick / fayde Goto Github PK
View Code? Open in Web Editor NEWInspired by Silverlight; XAML engine using Javascript and rendering to the HTML5 Canvas.
License: MIT License
Inspired by Silverlight; XAML engine using Javascript and rendering to the HTML5 Canvas.
License: MIT License
When using TextWrapping="Wrap", the text is not being wrapped.
You cannot call a method on a null-valued expression.
At C:\Users\ssickles\Desktop\FaydeSample\packages\Fayde.0.9.5.9\tools\common.psm1:4 char:26
$item.Properties.Item <<<< ("ItemType").Value = $ItemType
You cannot call a method on a null-valued expression.
At C:\Users\ssickles\Desktop\FaydeSample\packages\Fayde.0.9.5.9\tools\common.psm1:25 char:68
$parentitem.ProjectItems.AddFromFile($childitem.Properties.Item <<<< ("FullPath").Value)
You cannot call a method on a null-valued expression.
At C:\Users\ssickles\Desktop\FaydeSample\packages\Fayde.0.9.5.9\tools\common.psm1:25 char:68
$parentitem.ProjectItems.AddFromFile($childitem.Properties.Item <<<< ("FullPath").Value)
Inside an event binding, I have tried to clear the Text property on a TextBox by setting it to "". The value seems to update until you begin typing again. At that point, the original text (which should be gone) shows up along with whatever else you typed.
The selection background is not working in password box.
When trying to type an exclamation point into a textbox, a javascript error occurs.
Error (http://localhost/Fayde/Fayde.js) @ 19867
Uncaught TypeError: Object [object Object] has no method '_KeyUpPageDown'
Image Sources resolve like HTML. Would be better to be more like Silverlight.
I can't get ContextMenu to work.
Error Message:
0x800a138f - JavaScript runtime error: Unable to get property 'namespaceURI' of undefined or null reference
Testing XAML:
<TextBlock Text="Context Menu Test">
<controls:ContextMenuService.ContextMenu>
<controls:ContextMenu>
<controls:MenuItem Header="Move Up">
<controls:MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="Red"/>
</controls:MenuItem.Icon>
</controls:MenuItem>
<controls:MenuItem Header="Move Down">
<controls:MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="Green"/>
</controls:MenuItem.Icon>
</controls:MenuItem>
<controls:Separator/>
<controls:MenuItem Header="Delete">
<controls:MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="Blue"/>
</controls:MenuItem.Icon>
</controls:MenuItem>
</controls:ContextMenu>
</controls:ContextMenuService.ContextMenu>
</TextBlock>
Testing XAML:
<Button />
Add ability to format strings as specific formats:
-Date
-Time
-Date+Time
-Currency
-Exponential
-Fixed-point
-Percent
-Hexadecimal
http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
When you mouse over a checkbox, the highlight looks correct. However, when you mouse off of the checkbox, the highlights don't go away.
Controls don't seem to be able to handle an ObservableCollection when it comes to bindings. In my example, I bind to an Array of items. It works fine until I convert the Array to an ObservableCollection and then no items are rendered. I'm not getting any errors or messages in the chome console.
Example:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Parsing error: An unregistered attribute has been passed. ResourceDictionary.Source
ContentPresenter should take VerticalContentAlignment as VerticalAlignment. Not working properly for some reason. Could be bug or conflict.
Setting TranslateTransform.X and TranslateTransform.Y doesn't work correctly. It only works when the value is set in XAML or in code before the control is loaded. Changing the TranslateTransform.X/Y value in code after the control is loaded or use Binding doesn't seem to do anything to the control.
Testing XAML:
<StackPanel>
<TextBlock Text="X:"/>
<controls:NumericUpDown x:Name="XValue" DecimalPlaces="0" Increment="1" Value="10" />
<TextBlock Text="Y:"/>
<controls:NumericUpDown x:Name="YValue" DecimalPlaces="0" Increment="1" Value="30" />
<Button Content="Move Me" FontSize="20">
<Button.RenderTransform>
<TranslateTransform X="{Binding ElementName=XValue, Path=Value}" Y="{Binding ElementName=YValue, Path=Value}"/>
</Button.RenderTransform>
</Button>
<Button Content="Button" FontSize="20">
<Button.RenderTransform>
<TranslateTransform X="40" Y="40"/>
</Button.RenderTransform>
</Button>
</StackPanel >
TreeView is still broken in the latest version. Can't open/collapse node when using HierarchicalDataTemplate.
Can't do copy/paste on Textbox. I think this is an important feature needs to be added.
I have tried on both a windows touch screen and a IPad .All controls are currently not responding to touch.
Setting GroupName on RadioButtons throw the following error:
0x800a139e - JavaScript runtime error: InvalidOperationException: DependencyProperty 'RadioButton.GroupName' is read only.
If you provide a BlurRadius setting on a DropShadowEffect, it doesn't seem to have an affect. It will always result in rendering a drop shadow with 0 blur radius.
<DropShadowEffect BlurRadius="20" ShadowDepth="20" Color="{StaticResource DarkGray}"/>
I want to specify a binding for UIElement.Visibility that resolves to a boolean true/false. Fayde should convert the boolean to Visible/Collapsed respectively.
Clicking on a Selected Item in a Listbox when SelectionMode = "Multiple" doesn't do anything. However, setting SelectionMode = "Extended", it works the same way as setting it to "Multiple" in Silverlight.
Testing XAML;
<TextBox HorizonatalAlignment="Stretch" VerticalAlignment="Stretch" AcceptsReturn="True" Text="{Binding XAMLSource}" TextWrapping="Wrap"/>
The text would disappear when try to select the text in the TextBox. The error on the Javascript console is "Uncaught TypeError: Cannot call method '_ClearCache' of undefined".
You can see this problem in the following link by selecting text in the XAML Source tab in the following page:
http://faydedemo.azurewebsites.net/default.html#Input
I have noticed performance difference between a control in a simple test page from that of the same control nested in a more complicate page (in real application).
The GridSplitter control XAML on the Fayde.TestSite is exactly the same as that in my demo application. I did side by side comparison. It feels very responsive on the TestSite, but sluggish on my demo.
The difference is also browser dependent. The difference on IE and Chrome are much smaller than on FF or Safari. Safari is worst in this comparison.
Tab Control does not open 1st TabItem as default. Setting IsSelected = true on a TabItem only makes it looks like it is selected, but it doesn't show the tab content.
I have the following XAML:
<controls:TabControl Margin="5" Grid.Row="0" >
<controls:TabItem Header="One">
<TextBlock Text="Tab 1 Content" />
</controls:TabItem>
<controls:TabItem >
<controls:TabItem.HeaderTemplate>
<DataTemplate>
<Ellipse Width="20" Height="20" Fill="Blue" />
</DataTemplate>
</controls:TabItem.HeaderTemplate>
<TextBlock Text="Tab 2 Content"/>
</controls:TabItem>
<controls:TabItem>
<controls:TabItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="Four"/>
<Ellipse Width="20" Height="20" Fill="Blue" />
</StackPanel>
</controls:TabItem.Header>
<TextBlock Text="Tab 3 Content"/>
</controls:TabItem>
/controls:TabControl
Tab1 works fine.
Tab2 doesn't show the Header correctly, but if I click the tab, it shows the tab 2 content.
Tab3 shows the header correctly. But when the tab is clicked, the following error message shows up: "0x800a139e - JavaScript runtime error: AttachException: Element is already a child of another element."
Text is currently not working
If you forget to put the TargetType on a style, Fayde will error when trying to apply the style but the error message is not very helpful.
Uncaught Exception: Cannot have a null PropertyProperty value Fayde.js:5864
When eventbinding executes, function does not have proper "this" scope resolution.
The scenario to recreate the issue is as follows:
Select an item from a ComboBox. Then, click the dropdown again to change the selection. At this point, I get the javascript error:
Error (http://localhost/Fayde/Fayde.js) @ 12468
Uncaught InvalidOperationException: Element is already a child of another element.
Fully implement ICollectionView interface. This may require changes to Nullstone to allow interfaces to have interface registrations.
Introduce MultiBinding to Fayde from WPF.
A change in Chrome caused a crash in the xaml loader. When trying to resolve "getNodeValueImplicitDependency", was using Attribute.ownerElement which doesn't exist.
It appears that more complicated binding expressions that include for example "RelativeSource" or "StringFormat" are not working. (i.e. Text="{Binding FullName, StringFormat='My name is {0}.'}") As a workaround, the Binding can be defined in longhand format such as the following:
<TextBlock>
<TextBlock.Text>
<Binding Path="FullName" StringFormat="My name is {0}."/>
</TextBlock.Text>
</TextBlock>
A binding referring to the Count of an ObservableCollection is not updating.
I use HyperlinkButton inside my TreeView Item Template. The TargetName is set to "ContentFrame" which is a Frame on the page. When the button is clicked, it should display the page which the URL pointing to in the Frame, which was working before version 0.9.8.18. Now it is broken. I debugged code and found the problem is in the HyperlinkButton._Navigate function, the following code no longer finds the Frame on the page.
var targetUie = this.FindName(targetName);
The y-positioning of text is off in firefox.
Progress Bar control missing Default Style. When using DefaultTheme, I can only see a blank box without Progress value. using MetroTheme, I can see the value.
Setting Width on the ProgressBar make the Progress to show 100% regardless the current Value.
Binding only works when set Mode=TwoWay, We should only need one way binding for ProgressBar as the control is a readonly control.
Got "0x800a139e - JavaScript runtime error: Exception: UpdateLayout has entered infinite loop and has been aborted." error when setting ProgressBar value 100. This error can be seen on the demo page when using Metro Style, and setting 100 on the numericbox:
http://faydedemo.azurewebsites.net/default.html#Slider
When binding to a SelectedItem on a Listbox, the SelectedItem will not be set due to a timing issue. The ListBoxItems aren't generated at the time of the SelectedItem being bound so the original value never gets applied.
In windows 8 store app development there is this neat feature for specifying animations applicable on a grid.
<Grid.ChildrenTransitions>
<TransitionCollection>
<EntranceThemeTransition />
</TransitionCollection>
</Grid.ChildrenTransitions>
All children will then when the grid loads and displays, animate according to the collection, which is really easy then to specify page transition animations.
DomainUpDown box shows [object Object], when you click on the box, it shows the current item.
Testing XAML:
<controls:DomainUpDown Margin="5" IsCyclic="True" ItemsSource="{Binding List}" Height="Auto" HorizontalAlignment="Left" Width="400">
<controls:DomainUpDown.ItemTemplate>
<DataTemplate>
<TextBlock
Margin="4,2"
FontSize="34"
Text="{Binding Name}" />
</DataTemplate>
</controls:DomainUpDown.ItemTemplate>
</controls:DomainUpDown>
The sample used to isolate the issue is below:
I have a page with the following XAML, it works fine. But if I move the style definition from the Page.Resources to the Application.Resources in Default.fap, the Page only works on the first time load. I would get an error saying "Uncaught AttachException: Element is already a child of another element. " when I come back to this page after switching to other pages.
<Style x:Key="RadioButtonList" TargetType="ListBox">
<Setter Property="BorderThickness" Value="1" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
<Setter Property="Margin" Value="2 0 2 0" />
<Setter Property="ItemsPanel" Value="{StaticResource HorizontalStackPanel}"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListBoxItem" >
<Setter Property="Margin" Value="15 5 15 5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border Background="Transparent">
<RadioButton IsHitTestVisible="False" VerticalAlignment="Center" IsChecked="{TemplateBinding IsSelected}">
<ContentPresenter />
</RadioButton>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<StackPanel Margin="5">
<TextBlock Text="RadioButton List"/>
<ListBox Style="{StaticResource RadioButtonList}">
<ListBox.Items>
<ListBoxItem>opton1</ListBoxItem>
<ListBoxItem>option2</ListBoxItem>
<ListBoxItem>option2</ListBoxItem>
</ListBox.Items>
</ListBox>
</StackPanel>
When items are removed from an inner listbox, the outer listbox is not shrinking.
Binding.StringFormat is turning 0 into empty string.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.