首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Silverlight中访问选项卡项的对象

在Silverlight中访问选项卡项的对象
EN

Stack Overflow用户
提问于 2010-01-25 20:49:51
回答 1查看 936关注 0票数 1

我有一个Silverlight Usercontrol,其中我有一个tabcontrol,它使用了几个tabitem。现在,每个选项卡项都是另一个Usercontrol。我想知道是否有一种方法可以访问其中一个用户控件选项卡项的对象。

例如,如果我的主用户控件中有一个xaml:

代码语言:javascript
复制
<controls:TabControl x:Name="TabControl" Grid.Row="1" Grid.Column="1" Foreground="#234BC3">
            <controls:TabItem Header="Prestaties" x:Name="TabPres" Visibility="Collapsed">
                <nsl:PrestatiesUC></nsl:PrestatiesUC>
            </controls:TabItem>
            <controls:TabItem Header="Protocollen" x:Name="TabProt" Visibility="Collapsed">
                <nsl:ProtocollenUC></nsl:ProtocollenUC>
            </controls:TabItem>
            <controls:TabItem Header="Adt" x:Name="TabAdt" Visibility="Collapsed">
                <nsl:AdtUC></nsl:AdtUC>
            </controls:TabItem>
        </controls:TabControl>

在我的PrestatiesUC用户控件中,我有一个对象:

代码语言:javascript
复制
<Button x:Name="btnReSend" Content="Resend" Width="75" Height="25" Margin="10" Click="resend_Button"/>

如何在主用户控件代码中动态禁用它在启动时的可见性?

我试过这样的东西:

代码语言:javascript
复制
PrestatiesBAMUC tmp =  new PrestatiesBAMUC();
tmp.btnReSend.Visibility = Visibility.Collapsed;

但这并不管用。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-25 21:10:41

在主用户控件加载事件中,这应该是有效的:-

代码语言:javascript
复制
((PrestatiesUC)TabPres.Content).btnReSend.Visibility = Visibility.Collapsed;

然而,它闻起来很难闻。让像主页这样的东西对UserControl的内部结构有如此深入的了解通常不是一个好主意。

在已加载的事件中设置按钮的可见性不是更好吗?

如果不是,则创建一些由PrestatiesUC实现的接口(以及可能涉及到的其他用户控件)。在主页面加载期间,简单地枚举一组选项卡,并在此接口上调用一个方法,传入一些状态对象。然后,Usercontrols就它所包含控件的状态做出选择。

如果这看起来有点过了,那么至少向用户控件添加一个属性来隐藏按钮本身:

代码语言:javascript
复制
 // In PrestiesUC
 public bool ReSendVisible
 {
    get { return btnReSend.Visibility == Visibility.Visible; }
    set { btnReSend.Visibility = value ? Visibility.Visible : Visibility.Collapsed; }
 }

现在,主用户控件中的代码将如下所示:

代码语言:javascript
复制
((PrestatiesUC)TabPres.Content).ReSendVisible = False;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2132290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档