我在我的選項卡控件中有兩個選項卡項目,我想給滑動效果(動畫),同時選擇一個選項卡項目形式另一個。 讓我知道是否有人有一些想法來實現這個動畫。 在此先感謝。WPF Tabcontrol:對選項卡項目選擇滑動效果
5
A
回答
1
http://social.msdn.microsoft.com/Forums/en-AU/wpf/thread/ed8801d8-51c4-4671-8b8c-86544c6d434d 這是有益的,evergreen..i已經使用了一段時間以前
這似乎是更新 http://blogs.intuidev.com/post/2010/01/26/TabControlStyling_PartTwo.aspx
多了不知道你所說的滑動效果是什麼意思?版對我有什麼例子來理解
0
XAML代碼:
<Window x:Class="TabControlAnimation.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" WindowState="Maximized">
<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}" Name="_menuTabControl" TabStripPlacement="Top" Width="auto" Height="{Binding ElementName=maingrid, Path=Height}" SelectionChanged="_menuTabControl_SelectionChanged">
<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>
代碼背後:
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(depObj);i++)
{
DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
if (child != null && child is T)
yield return (T)child;
foreach (T childOfChild in FindVisualChildren<T>(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>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;
}
}
}
}
}
相關問題
- 1. WPF TabControl選項卡「跳躍」
- 2. MVVM從TabControl中選擇新選項卡
- 3. 滑動切換選項卡選擇
- 4. WPF - 取消選擇TabControl中的選項卡會導致問題
- 5. WPF TabControl的重新排序選項卡
- 6. MVVM Tabcontrol更改選項卡
- 7. TabControl - 在選項卡之間滾動
- 8. TabControl總是調整大小到選定的選項卡項目?
- 9. 複製的TabControl選項卡
- 10. iOS的滑動效果ViewControllers - Instagram的活動選項卡
- 11. TabControl保存選定的選項卡項目已更改
- 12. 滑動菜單選項卡
- 13. 滑動選項卡主機
- 14. 滑動選項卡 - NullPointerException - Toolbar.getTitle()
- 15. 從TabItem到TabControl的TabControl中的WPF選項卡
- 16. 如何在選擇選項卡項目內容時聚焦WPF選項卡項目?
- 17. 在TabControl中綁定選擇項目
- 18. 與RadPaneGroup的多選項卡wpf項目
- 19. jQuery ui選項卡:切換標籤之間的滑動效果
- 20. jQuery選項卡和滑動效果 - 不一起工作
- 21. 爲選項卡式內容添加不錯的滑動效果
- 22. 如何在jQueryUI選項卡上實現滑動效果
- 23. 設置WPF TabControl非活動選項卡的背景顏色
- 24. 滑動選擇MVVM中的GridView項目
- 25. 使用TabControl中的選定選項卡清除變量 - WPF
- 26. 引導滑動選項卡(不是選項卡內容)
- 27. WPF TabControl - 當TabItem可見性發生變化時選擇不同的選項卡
- 28. 如果上述選項卡中選擇
- 29. C#切換選項卡(tabcontrol),同時拖動並懸停在選項卡上
- 30. 在TabControl上選擇新選項卡後,CollectionViewSource不能排序
其實,我想給滑動效果標籤項的內容。比方說,tabitem包含一個stackpanel,tabitem 2包含一些其他控件,然後如果我選擇了tab 2,那麼tab 2的內容應該以滑動方式顯示。 – prawin 2012-02-21 09:17:42
如果你在這裏發佈一些代碼,那麼我可以爲你編輯.. – JackyBoi 2012-02-23 01:03:59