微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight TabControl的SelectionChanged简单例子

本文主要记录下SelectedChanged简单的用法

xxxx.xaml界面代码

<sdk:TabControl Name="tbControl" SelectionChanged="tbControl_SelectionChanged" >
  <sdk:TabItem Name="tiAll" Margin="179,-200,0" HorizontalAlignment="Left"  >
    <sdk:TabItem.Header>
      <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Center">
        <Image Name="qbImg" Source="/xxx;component/images/tiAllIcon_Sel.png" Width="20" Height="21" />
        <TextBlock Text="全部" VerticalAlignment="Center" Margin="10,0" />
      </StackPanel>
    </sdk:TabItem.Header>

    <Grid Name="tiAllGrid">
      ...
    </Grid>
  </sdk:TabItem>

  <sdk:TabItem Name="tiDetial" Margin="180,0" HorizontalAlignment="Left">
    <sdk:TabItem.Header>
      <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" VerticalAlignment="Center">
        <Image Name="deImg" Source="/xxx;component/images/tiDetialIcon.png" Width="20" Height="21" />
        <TextBlock Text="明细" VerticalAlignment="Center" Margin="10,0" />
      </StackPanel>
    </sdk:TabItem.Header>

    <Grid Name="tiDetialGrid">
		...
    </Grid>

  </sdk:TabItem>
</sdk:TabControl>

xxxx.xaml.cs 后台代码

private void tbControl_SelectionChanged(object sender,System.Windows.Controls.SelectionChangedEventArgs e)
{
  TabControl tc = sender as TabControl;
  if (tc == null || qbImg == null || deImg == null)
    return;

  if (tc.Selectedindex == 0)
  {
    qbImg.source = new BitmapImage(new Uri("/XXXX;component/images/tiAllIcon_Sel.png",UriKind.RelativeOrAbsolute));
    deImg.source = new BitmapImage(new Uri("/XXXX;component/images/tiDetialIcon.png",UriKind.RelativeOrAbsolute));
  }
  else if (tc.Selectedindex == 1)
  {
    qbImg.source = new BitmapImage(new Uri("/XXXX;component/images/tiAllIcon.png",UriKind.RelativeOrAbsolute));
    deImg.source = new BitmapImage(new Uri("/XXXX;component/images/tiDetialIcon_Sel.png",UriKind.RelativeOrAbsolute));
  }
}


这避免TabControl在加载过程中初始化读取qbImg,deImg的对象,因为开始加载时,这些对象是不存在的,当直接设置其Source时,会提示对象不存在的错误
if (tc == null || qbImg == null || deImg == null)
    return;

----- 记录完毕---

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐