2010

Black Friday Discounts

Author: Steve Li
Posted on: 26 Nov 2010
We are happy to offer discounts for all our products

Single coupon code BF761D5E97 to get 50% discount for all our products!

  1. SvFx Single Developer  $89 $179 Get Now
  2. SvFx Single Developer + Source  $184 $369 Get Now
  3. SvFx Team  $199 $399 Get Now
  4. SvFx Team + Source  $299 $599 Get Now
  5. DocFramework  $74 $149 Get Now
  6. DocFramework + Source  $274 $549 Get Now

Don't miss your chance!

 

Best Regards,
Cellbi Software

Posted in: News

SvFx 4.0 is released

Author: Steve
Posted on: 25 Jun 2010
SvFx 4.0 is now published! Full support for Silverlight 4 and VisualStudio 2010

We are happy to announce SvFx 4.0 version!

It is fully compatible with Silverlight 4.0 and VisualStudio 2010!

Read more: SvFx 4.0 What's New

If you want to upgrade to the SvFx 4.0 release, please contact us at support@cellbi.com and we'll help you with upgrading. Note that upgrade price is 50% discount.

We are waiting for your feedback!

Thanks!
Cellbi Software Team

Posted in: SvFx

Carousel Menu

Author: Steve
Posted on: 17 Mar 2010
I think that menu control is one of the most visible parts of any application or website. That's why it's structure should be designed really well. However I also think that menu control should be attractive as well.

Download: Source

I think that menu control is one of the most visible parts of any application or website. That's why it's structure should be designed really well. However I also think that menu control should be attractive as well.

One of the ways to be creative with menu controls is to use animations and styles. In this article I'll try to show how to create interesting menus using Ellipse Carousel and SlideShow's array animations from the SvFx library.

Try: SvFx

See: Online Demo

First of all lets take a look at the result:

As you can see from the example above menu consists from 2 parts: Root menu items implemented with the help of carousel and several sub-items bound to the carousel item. Selecting of any item in the carousel starts animation and shows sub-items.

We'll start from creating the root menu. I'm not going to bore you with how you can drop Carousel control on the Silverlight page and setup its style. For information on this please read my previous articles: Using Data Binding in the Carousel Control
Flexible Carousel Control
I hope you'll find my efforts useful ;) So here is how Carousel control should be declared in XAML code:

 <carousel:Carousel 
x:Name="uxCarousel"
Width="240"
Height="240"
VerticalAlignment="Center"
AlignCenter="True"
ZDepth="100"
ItemTemplate="{StaticResource CarouselItemTemplate}"
ItemsSource="{Binding CarouselData}" >
<carousel:Carousel.LocationSetup >
<carousel:EllipseLocationSetup
CanUseOpacity="True"
RadiusX="50"
RadiusY="100"
Depth="25"
UseDirectTransition="False"
CanUseBlur="True"
BlurAmount="5"
TopmostMode="Specified"
TopmostIndex="0" />
</carousel:Carousel.LocationSetup>
<carousel:Carousel.Setup >
<carousel:CycleTransitionSetup
SpeedRatio="3"
IsFixed="False" />
</carousel:Carousel.Setup>
<carousel:Carousel.MouseOverPattern >
<patterns:ShakeItemPattern />
</carousel:Carousel.MouseOverPattern>
</carousel:Carousel>

Please take a look at the declaration above again. We specified Carousel items style with the help of ItemTemplate property and we bounds items to the source. Then we set a form of carousel as Ellipse, assigned its Radius, index of the topmost element and other properties. All these properties can be used to tweak carousel control.

Definition of the Carousel ItemTemplate can be very different. It completely depends on what you want to see on the screen. Definition of the template used in this article can be found inside source code download.

That's all we should do on this step. Now it's time to think how to add menu sub-items and how to start animation when items are selected. It is easy to do this with the help of the SlideShow control and ArrayAnimationPattern. Please read my post for more details: Fast Photo gallery with SlideShow So here I'll show declaration of the menu sub-items.

 <slide:SlideShow 
x:Name="uxToolBar" >
<slide:SlideShow.Pattern >
<slide:CompositeSlideShowPattern >
<slide:CompositeSlideShowPattern.AnimationPattern >
<patterns:ArrayAnimationPattern
ColumnCount="0"
ItemMargin="5"
GroupMode="AllItems"
GroupShuffle="False" >
<patterns:ArrayAnimationPattern.AnimationSelectors >
<patterns:AllAnimationGroupSelector >
<patterns:AllAnimationGroupSelector.AnimationPattern >
<patterns:ShiftItemPattern
ShowInterval="0.05"
ShowSpeed="8"
ShowMoveTween="BackTweenOut"
ShowScaleTween="BackTweenOut"
ShowShiftMode="FromStart"
ShowFlipDirection="Y"
HideInterval="0.05"
HideSpeed="8"
HideMoveTween="BackTweenIn"
HideScaleTween="BackTweenIn"
HideShiftMode="FromStart"
HideFlipDirection="Y"
StartHorizontalOffset="20"
StartVerticalOffset="20" >
<patterns:ShiftItemPattern.ShowShader >
<shaders:FadeShaderChanger />
</patterns:ShiftItemPattern.ShowShader>
<patterns:ShiftItemPattern.HideShader >
<shaders:FadeShaderChanger />
</patterns:ShiftItemPattern.HideShader>
</patterns:ShiftItemPattern>
</patterns:AllAnimationGroupSelector.AnimationPattern>
</patterns:AllAnimationGroupSelector>
</patterns:ArrayAnimationPattern.AnimationSelectors>
</patterns:ArrayAnimationPattern>
</slide:CompositeSlideShowPattern.AnimationPattern>
</slide:CompositeSlideShowPattern>
</slide:SlideShow.Pattern>
<slide:SlideShow.MouseOverPattern >
<patterns:ShakeItemPattern
SpeedRatio="1" />
</slide:SlideShow.MouseOverPattern>
<Canvas >
<local:ToolBarItem
Caption="Menu1" />
<local:ToolBarItem
Caption="Menu2" />
<local:ToolBarItem
Caption="Menu3" />
<local:ToolBarItem
Caption="Menu4" />
<local:ToolBarItem
Caption="Menu5" />
</Canvas>
........ <Canvas >
<local:ToolBarItem
Caption="Menu26" />
<local:ToolBarItem
Caption="Menu27" />
<local:ToolBarItem
Caption="Menu28" />
<local:ToolBarItem
Caption="Menu29" />
<local:ToolBarItem
Caption="Menu30" />
</Canvas>
</slide:SlideShow>

Pattern property is a key property in this code. It can be used to extend functionality of slide show. In our case we use CompositeSlideShowPattern. CompositeSlideShowPattern treats all items of the SlideShow as collections of sub-items. CompositeSlideShowPattern has AnimationPattern property, which can be used to specify how sub-items should be located and animated. In the example above we use ArrayAnimationPattern. ArrayAnimationPattern usage is described here: "Fast Photo gallery with SlideShow"

Finally we need to start slide show items animation, depending on which item was clicked in the carousel. Here is how we can do this:

void SubscribeEvents()
{
  uxCarousel.ItemMouseLeftButtonUp += new MouseButtonEventHandler(uxCarousel_ItemMouseLeftButtonUp);
}

void uxCarousel_ItemMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
  ContentControl item = sender as ContentControl;
  if (item == null)
    return;
  
  uxCarousel.MoveToTopMostLocation(item);
  CarouselItem menuItem = item.Content as CarouselItem;
  if (menuItem != null)
    uxToolBar.ShowByIndex(menuItem.MenuBarIndex);
}

This was really breaf overview of how menus can be built using controls from the SvFx library. I've shown only key moments here. Waiting for your comments.

Best Regards,
Cellbi Software

Posted in: SvFx

Slide Show Photo Gallery

Author: Steve
Posted on: 25 Feb 2010
In this article I want to show how to create simple photo gallery with the help of Cellbi SlideShow control from SvFx library.

Download: Source

Try: SvFx

See: Online Demo

See it in action below:

SlideShow control is designed to simplify slide show creation. Cellbi SlideShow control is very powerful. It can be configured by using slide show patterns. In this article we will focus on the CompositeSlideShowPattern and ArrayAnimationPattern. It can be used to define complex animations and specify animation for each item individually.

Lets take a look how CompositeSlideShowPattern can be used to create a simple photo gallery.

Here is XAML code

 <SlideShow 
x:Name="uxSlideShow" >
<SlideShow.Pattern >
<CompositeSlideShowPattern >
<CompositeSlideShowPattern.AnimationPattern >
<ArrayAnimationPattern
ItemMargin="10"
GroupShowInterval="0.7"
GroupHideInterval="0.7" >
<ArrayAnimationPattern.AnimationSelectors >
<AllAnimationGroupSelector >
<AllAnimationGroupSelector.AnimationPattern >
<ShiftItemPattern
ShowInterval="0.05"
ShowSpeed="5"
ShowMoveTween="BackTweenOut"
ShowShiftMode="FromStart"
HideInterval="0.05"
HideSpeed="5"
HideMoveTween="BackTweenIn"
HideScaleTween="BackTweenIn"
HideShiftMode="FromStart" />
</AllAnimationGroupSelector.AnimationPattern>
</AllAnimationGroupSelector>
</ArrayAnimationPattern.AnimationSelectors>
</ArrayAnimationPattern>
</CompositeSlideShowPattern.AnimationPattern>
</CompositeSlideShowPattern>
</SlideShow.Pattern>
<Canvas >
<Image
Source="166002_small.jpg" />
<Image
Source="166005_small.jpg" />
<Image
Source="166007_small.jpg" />
</Canvas>
</SlideShow>

SlideShow has "Pattern" property which can be used to extend its functionality. In the example above CompositeSlideShowPattern is used, it interprets items as animated parts.

CompositeSlideShowPattern has "AnimationPattern" property, which specifies locations and animation rules for item parts. In the example above we used ArrayAnimationPattern. It can arrange all items in a grid or in a vector. The number of columns can be set via "ColumnCount" property

The most interesting thing here is that you can specify animations for each sub item in the set individually. This can be done with the help of selectors. Selector represents a function which selects a group of sub items from the whole set and defines animation for this group. Selector can select single item, all items, even or odd items or any other items. It completely depends on the function of selector. Selectors can be combined to create complex animations.

In the example above AllAnimationGroupSelector is used. It is included in the SvFx library. It selects all sub items from SlideShow item (in this case Canvas is used), and applies the same animation pattern to each sub item in the set. AnimationPattern property is used to specify animation for each item in the group. You can get more clear sense of how it works in our Demo.

 

Best Regards,
Cellbi Software

Posted in: SvFx

New Pattern for the SlideShow

Author: Steve
Posted on: 09 Feb 2010
In this post I want to show you some new SlideShow pattern we are working on.

Download: Source

Try: SvFx

See: Online Demo

See it in action below:

These patterns will be available in future release. We focused on using Projection feature available in Silverlight 3 to add some cool transition effects for the SlideShow control.

New pattern is called Rotation3DSlideShowPattern. It has two properties ShowRotation and HideRotation. These properties are of ElementRotation type and are used to create show and hide transitions.

ElementRotation has Center, Offset and Rotation properties, which can be used to define 3D rotation effect.

I think it's better to examine how it can be used inside XAML code:

 <slideshow:Rotation3DSlideShowPattern 
x:Name="SimpleRotation"
SpeedRatio="2"
TweenType="None"
SlideMode="Sequence"
SlideDelay="0.2" >
<slideshow:Rotation3DSlideShowPattern.ShowRotation >
<effects:ElementRotation >
<effects:ElementRotation.Center >
<common:Point3D
X="0.5"
Y="0.5"
Z="0.5" />
</effects:ElementRotation.Center>
<effects:ElementRotation.Offset >
<common:Point3D
X="0"
Y="0"
Z="0" />
</effects:ElementRotation.Offset>
<effects:ElementRotation.Rotation >
<common:Point3D
X="0"
Y="90"
Z="0" />
</effects:ElementRotation.Rotation>
</effects:ElementRotation>
</slideshow:Rotation3DSlideShowPattern.ShowRotation>
<slideshow:Rotation3DSlideShowPattern.HideRotation >
<effects:ElementRotation >
<effects:ElementRotation.Center >
<common:Point3D
X="0.5"
Y="0.5"
Z="0.5" />
</effects:ElementRotation.Center>
<effects:ElementRotation.Offset >
<common:Point3D
X="0"
Y="0"
Z="0" />
</effects:ElementRotation.Offset>
<effects:ElementRotation.Rotation >
<common:Point3D
X="0"
Y="-90"
Z="0" />
</effects:ElementRotation.Rotation>
</effects:ElementRotation>
</slideshow:Rotation3DSlideShowPattern.HideRotation>
</slideshow:Rotation3DSlideShowPattern>

That's how Rotation3DSlideShowPattern can be used inside XAML code. I think that the code shown above is really simple compared to the actual transition effect we get.

What do you think? Is there any way we can simplify the code above? Please let me know!

Posted in: SvFx

SlideShow and Wipe Patterns

Author: Steve
Posted on: 01 Feb 2010
SlideShow control usage example with full source code.

Download: Source

I think that it'll be correct to say that almost each web site has to represent content separated by pages providing easy navigation between these pages. Navigation between parts of content can be used in photo and video galleries as well.

This is exactly what SlideShow control does. You add photos, videos or any other content as items of the SlideShow and you're done ;)

In this article we'll use only one animation pattern. In future posts I'll show you how other patterns can be used :)

See it in action below:

I hope that this simple post with just several lines of XAML code will give you a good taste of what Cellbi SlideShow control can do. Let's get started.

Cellbi SlideShow gives you an ability to organize content of your site, build photo and video galleries with hundrends of advanced transition effects. You can use builtin slide show animation patterns, or you can change several propereties to completelly change slide show animations in 1-2 steps.

The code to declare SlideShow with several images placed inside will look as follows:

 <SlideShowControl 
Width="400"
Height="250" >
<Image
Source="Image001.jpg"
Width="380" />
<Image
Source="Image002.jpg"
Width="380" />
<Image
Source="Image003.jpg"
Width="380" />
<Image
Source="Image004.jpg"
Width="380" />
</SlideShowControl>

That's how SlideShow is declared in XAML code. We've added only 5 lines of code, and it will give us animated transitions between images if we'll call SlideShow.ShowNext, SlideShow.ShowPrevious or SlideShow.ShowByIndex method in C# of VB code.

To be honest such simple example will use only Fade-In and Fade-Out transition effects to show and hide images. To get more complex effects we will use special animation patterns.

Cellbi SlideShow contains several powerfull builtin animation patterns. More over you can create your own animation patterns. Lets take a look how WipeSlideShowAnimarion works.

 <SlideShowControl 
Width="400"
Height="250" >
<SlideShowControl.Pattern >
<WipeSlideShowPattern >
<WipeSlideShowPattern.Pattern >
<BlindsHorizontalDownWipePattern
RowCount="10"
WipeTweenType="BackTweenOut" />
</WipeSlideShowPattern.Pattern>
</WipeSlideShowPattern>
</SlideShowControl.Pattern>
<Image
Source="Image001.jpg"
Width="380" />
<Image
Source="Image002.jpg"
Width="380" />
<Image
Source="Image003.jpg"
Width="380" />
<Image
Source="Image004.jpg"
Width="380" />
</SlideShowControl>

Here we use WipeSlideShowPattern as animation pattern for the SlideShow. Then type of wipe animation is set using Pattern property. We use BlindsHorizontalDownWipePattern and assign its properties. Please try to play with different wipe patterns and try to set different properties. You'll find that it is very easy to change transition effects.

Download FREE trial version now.

Play with online Demo application.

Posted in: SvFx