在Silverlight 2 Beta2 中使用TabControl

     在Silverlight 2 Beta2 中新加入了TabControl控件,使用它可以帮助我们实现属性页的效果。
如下图:

           

     本DEMO的XAML代码段如下:

<Canvas x:Name="LayoutRoot" Background="White">
    
<local:TabControl  x:Name="tab1" Canvas.Top="20" Canvas.Left="20" Height="100" Width="300" />  
    
<local:TabControl  x:Name="tab2" Canvas.Top="140" Canvas.Left="20" Height="100" Width="300" />
    
<local:TabControl  x:Name="tab3" Canvas.Top="280" Canvas.Left="20" Height="100" Width="300"  >
        
<local:TabItem x:Name="white" Header="white"  Background="white" Style="{StaticResource MyTabItemStyle}"/>
        
<local:TabItem x:Name="red" Header="red"  Background="Red" Style="{StaticResource MyTabItemStyle}"/>
        
<local:TabItem x:Name="blue" Header="blue" Background="Blue" Style="{StaticResource MyTabItemStyle}"/>
    
</local:TabControl>
</Canvas>

    下面是它的page.xaml.cs代码:

public Page()
{
    InitializeComponent();
    
this.Loaded += new RoutedEventHandler(Page_Loaded);           
}

void tab3_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tab3.Background 
= ((TabItem)tab3.SelectedItem).Background;
}

void tab2_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tab1.SelectedIndex 
= tab2.SelectedIndex;
    
//object o = tab1.FindName("first item");
}


void Page_Loaded(object sender, RoutedEventArgs e)
{
    List
<TabItem> tabItems = new List<TabItem>()
    {
        
new TabItem() {Header = "第一选项", Content = "第一选项中内容"},
        
new TabItem() {Header = "第二选项", Content = "第二选项中内容"},
        
new TabItem() {Header = "第三选项", Content = "第三选项中内容"}
    };
    
foreach (TabItem tabItem in tabItems)
    {
        tab1.Items.Add(tabItem);
    }


    tabItems 
= new List<TabItem>()
    {
        
new TabItem() {Header = "第一选项", Content = "第一选项中内容"},
        
new TabItem() {Header = "第二选项", Content = "第二选项中内容"},
        
new TabItem() {Header = "第三选项", Content = "第三选项中内容"}
    };
    
foreach (TabItem tabItem in tabItems)
    {
        tab2.Items.Add(tabItem);
    }


    tab1.TabStripPlacement 
= Dock.Bottom;
    tab2.TabStripPlacement 
= Dock.Left;
    tab3.TabStripPlacement 
= Dock.Top;

    tab2.SelectionChanged 
+= new SelectionChangedEventHandler(tab2_SelectionChanged);
    tab3.SelectionChanged 
+= new SelectionChangedEventHandler(tab3_SelectionChanged);
}

    代码很简单,这里就不多说什么了。

    源码下载链接,请点击这里:)

posted @   代震军  阅读(3922)  评论(5编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示