silverlight tabcontrol 的页签(tabItem)的loaded事件是什么时候触发的?
我主要是想知道怎么才能做到点击tabcontrol的项的时候再去加载这项下面的东西!loaded和Unloaded事件分别什么意思什么时候触发的!答好加分!...
我主要是想知道 怎么才能做到点击tabcontrol 的项的时候 再去加载这项下面的东西!
loaded 和Unloaded 事件分别什么意思 什么时候触发的 ! 答好加分! 展开
loaded 和Unloaded 事件分别什么意思 什么时候触发的 ! 答好加分! 展开
展开全部
Silverlight 的UI元素的Loaded事件是UI对象显示的时候触发
点击tabcontrol 的项加载:
TabControl 的SelectionChanged事件中判断点击的是哪个TabItem或其Index
然后 在代码中动态对 TabItem 的 Content 属性赋值
private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (this.tabControl1.SelectedIndex)
{
case 0:
{ //加载第1个选项卡内容
Grid gItem = ((TabItem)this.tabControl1.SelectedItem).Content as Grid;
if (gItem != null && gItem.Children.Count<1) // 为啥判断子成员个数,因为来回切换可能造成数据重新加载,入力内容丢失
{
//gItem.Children.Add(new TextBox());
//添加子选项卡内容,这里用UserControl代替
gItem.Children.Add(new UserControl());
}
break; }
case 1:
{ //加载第二个选项卡内容
break; }
default:
{
break;
}
}
点击tabcontrol 的项加载:
TabControl 的SelectionChanged事件中判断点击的是哪个TabItem或其Index
然后 在代码中动态对 TabItem 的 Content 属性赋值
private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
switch (this.tabControl1.SelectedIndex)
{
case 0:
{ //加载第1个选项卡内容
Grid gItem = ((TabItem)this.tabControl1.SelectedItem).Content as Grid;
if (gItem != null && gItem.Children.Count<1) // 为啥判断子成员个数,因为来回切换可能造成数据重新加载,入力内容丢失
{
//gItem.Children.Add(new TextBox());
//添加子选项卡内容,这里用UserControl代替
gItem.Children.Add(new UserControl());
}
break; }
case 1:
{ //加载第二个选项卡内容
break; }
default:
{
break;
}
}
追问
看图
追答
这个错误是因为TabControl还未加载,在其内部处理中有对SelectionChanged属性更改,在Switch语句前加上下面的
if (this.tabControl1 != null)
条件判断,就OK了,你再试下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询