Tôi đang có hai mục tab trong điều khiển tab và tôi muốn tạo hiệu ứng trượt (Hoạt ảnh) trong khi chọn một mục tab khác. Hãy cho tôi biết nếu có ai đó có ý tưởng nào đó để đạt được hoạt ảnh này. Cảm ơn trước.WPF Tabcontrol: Hiệu ứng trượt khi chọn mục tab
5
A
Trả lời
1
http://social.msdn.microsoft.com/Forums/en-AU/wpf/thread/ed8801d8-51c4-4671-8b8c-86544c6d434d này là hữu ích và evergreen..i đã sử dụng nó một thời gian trước
Điều này dường như được cập nhật phiên bản http://blogs.intuidev.com/post/2010/01/26/TabControlStyling_PartTwo.aspx
và nhiều hơn không chắc chắn những gì bạn có nghĩa là bởi hiệu ứng trượt ?! bất kỳ ví dụ cho tôi để hiểu
0
mã 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>
Mã Đằng sau:
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;
}
}
}
}
}
Các vấn đề liên quan
- 1. WPF TabControl - Chọn tab khác khi TabItem Hiển thị thay đổi
- 2. WPF Customized TabControl
- 3. WPF TabControl Databinding
- 4. WPF: TabControl & DataTemplates
- 5. WPF tabcontrol styling
- 6. Cách thêm trang WPF vào tabcontrol?
- 7. Cách kiểm tra tab nào được chọn trong VB.net TabControl
- 8. Làm thế nào để đảm bảo WPF TabControl của tôi luôn có một tab được chọn khi nó chứa ít nhất một tab?
- 9. TabControl nhấp nháy khi thay đổi biểu tượng của tab
- 10. Có sự kiện thay đổi tab đã chọn trong WPF Tab Control
- 11. Tắt hiệu ứng chọn khi chọn UITableViewCell
- 12. Có thể sắp xếp lại các mục tab trong điều khiển tab trong wpf không?
- 13. TabControl Hủy thay đổi các tab
- 14. tab ở phía dưới cùng của TabControl
- 15. TabControl- ngăn cản người dùng thay đổi tab đã chọn: MessageBox gây lỗi
- 16. Bố cục tab trượt kiểu Youtube trong ứng dụng Android
- 17. Tạo hiệu ứng lưới để di chuyển hoặc trượt sang phải WPF
- 18. TabControl Menu ngữ cảnh
- 19. Chọn WPF ComboBoxItem bằng cách sử dụng Phím Tab
- 20. Hiệu ứng đổ bóng WPF
- 21. Chọn Trang tab trong TabControl mà không lấy cắp tiêu điểm
- 22. WPF C# Hiệu suất ứng dụng
- 23. Hiệu ứng nút trượt của mục Chế độ xem danh sách cho Android
- 24. Làm cách nào để chọn một tab trên .NET CF TabControl?
- 25. Tìm kiếm một trang tab trong tabcontrol C#
- 26. Plugin có thể sắp xếp jquery với "hiệu ứng trượt"?
- 27. Làm cách nào để liên kết các mục của TabControl với một bộ sưu tập quan sát được trong wpf?
- 28. Cách tìm trang tab (TabControl) nào là trên
- 29. Hiệu ứng trượt có thể di chuyển JQuery-Mobile
- 30. Trượt Bật/Tắt Công tắc trong WPF
Trên thực tế, tôi đang cố gắng để cung cấp cho trượt ảnh hưởng đến nội dung của mục tab. Hãy nói, tabitem một chứa một stackpanel và tabitem 2 chứa một số điều khiển khác sau đó nếu tôi chọn tab 2 thì nội dung của tab 2 sẽ được hiển thị theo cách trượt. – prawin
nó sẽ rất hữu ích nếu bạn đăng một số mã ở đây sau đó tôi có thể chỉnh sửa cho bạn .. – JackyBoi