WPF Tabcontrol: Effet coulissant lors de la sélection d'un élément d'onglets

J'ai deux éléments de l'onglet dans mon élément de gestion de tabulation et je veux donner des effets coulissants /Animation/ Lorsque vous choisissez un élément de l'onglet d'un autre.
Faites-moi savoir si quelqu'un a une sorte d'idée à réaliser cette animation.
Merci en avance.
Invité:

Darius

Confirmation de:

http://social.msdn.microsoft.c ... d434d
Ceci est utile et evergreen..i utilisé il y a quelque temps

Il semble être mis à jour la version
http://blogs.intuidev.com/post ... .aspx
-déposer

Et de plus, je ne suis pas sûr que vous vouliez dire sous les effets coulissants ?! des exemples pour moi de comprendre

Francois

Confirmation de:

xaml le code:


<window height="350" title="MainWindow" width="525" windowstate="Maximized" x:class="TabControlAnimation.MainWindow" xmlns="[url=http://schemas.microsoft.com/winfx/2006/xaml/presentation"]http://schemas.microsoft.com/w ... ot%3B[/url] xmlns:x="[url=http://schemas.microsoft.com/winfx/2006/xaml">]http://schemas.microsoft.com/w ... gt%3B[/url]
<grid horizontalalignment="Center" name="maingrid">
<grid.resources>
<datatemplate x:key="TabTemplate">
<grid name="gd">
<contentcontrol content="{Binding}"></contentcontrol>
</grid>
</datatemplate>
</grid.resources>
<stackpanel orientation="Horizontal">
<tabcontrol contenttemplate="{StaticResource TabTemplate}" height="{Binding ElementName=maingrid, Path=Height}" name="_menuTabControl" selectionchanged="_menuTabControl_SelectionChanged" tabstripplacement="Top" width="auto">
<tabitem header="MyTabItem1">
<grid background="Red">
<textblock text="This is tab1"></textblock>
</grid>
</tabitem>
<tabitem header="MyTabItem2">
<grid background="Green">
<textblock text="This is tab2"></textblock>
</grid>
</tabitem>
<tabitem header="MyTabItem3">
<grid background="Yellow">
<textblock text="This is tab3"></textblock>
</grid>
</tabitem>
<tabitem header="MyTabItem4">
<grid background="Violet">
<textblock text="This is tab4"></textblock>
</grid>
</tabitem>
<tabitem header="MyTabItem5">
<grid background="Blue">
<textblock text="This is tab5"></textblock>
</grid>
</tabitem>
</tabcontrol>
</stackpanel>
</grid>


Pour le code :


public partial class MainWindow : Window
{

public MainWindow//
{
InitializeComponent//;
}

public IEnumerable<t> FindVisualChildren<t>/DependencyObject depObj/ where T:DependencyObject
{
if/depObj!=null/
{
for/int i=0;i<visualtreehelper.getchildrencount !="null" &&="" ;="" ;i++="" child="" child;="" childofchild="" dependencyobject="" depobj="" findvisualchildren<t="" foreach="" i="" if="" in="" is="" return="" t="" yield="" {="">/child//
yield return childOfChild;
}
}
}


int prev = -1, curr = -1;
private void _menuTabControl_SelectionChanged/object sender, SelectionChangedEventArgs e/
{
curr = /sender as TabControl/.SelectedIndex;
if/prev!=curr/
{
foreach/var rectangle in FindVisualChildren<grid>/this//
{
if/rectangle.Name=="gd"/
{
DoubleAnimation translate_x=null;
if/prev&gt;curr/
{
translate_x = new DoubleAnimation//
{
From = -300,
To = 0,
Duration = TimeSpan.FromSeconds/0.3/,

};
}
else
{
translate_x = new DoubleAnimation//
{
From = 300,
To = 0,
Duration = TimeSpan.FromSeconds/0.3/,
};
}
var translate_y = new DoubleAnimation//
{
From = 0,
To = 0,
Duration = TimeSpan.FromSeconds/1/,
};
TranslateTransform translateTransform1 = new TranslateTransform//;
translateTransform1.BeginAnimation/TranslateTransform.XProperty, translate_x/;
translateTransform1.BeginAnimation/TranslateTransform.YProperty, translate_y/;
rectangle.RenderTransform = translateTransform1;
prev = curr;
}
}
}
}
}


</grid></visualtreehelper.getchildrencount></t></t></window>

Pour répondre aux questions, connectez-vous ou registre