首页 新闻 会员 周边

关于silverlight中的模板问题

0
悬赏园豆:100 [已解决问题] 解决于 2012-03-13 10:59

在mainpage.xaml中得代码如下:

<local:DockPanel x:Name="adminDockPanel4" IsTabStop="False" Margin="401,92,160,129" MinHeight="50" MinWidth="100" Canvas.Left="180" Canvas.Top="0">
                <local:DockPanel.HeaderTemplate>
                    <ControlTemplate>
                        <Grid Height="231" Margin="5, 0, 0, 0" VerticalAlignment="Top" Width="304" Name="gridDH">
                            <TextBlock Text="window7" Margin="10,10,116,197" Name="textwindow7"/>
                            <MediaElement Height="120" HorizontalAlignment="Left" Margin="10,40,0,0" Name="mediaElement7" VerticalAlignment="Top" Width="257" Stretch="Fill"/>
                            <Image Height="73" HorizontalAlignment="Left" Margin="0,110,0,0" Name="image2" Stretch="Fill" VerticalAlignment="Top" Width="136" Source="/player1;component/Images/Catching.JPG" />
                        </Grid>
                    </ControlTemplate>
                </local:DockPanel.HeaderTemplate>
            </local:DockPanel>

我想在mainpage.xaml.cs中使用mediaElement7,要怎样才能用到,

汪强的主页 汪强 | 初学一级 | 园豆:12
提问于:2012-03-12 18:47
< >
分享
最佳答案
0

...你是获取不到这个TextBlock 的对象?

收获园豆:60
在水_方 | 菜鸟二级 |园豆:284 | 2012-03-13 09:59

有一个可以访问到。

<TextBlock Text="window7" Margin="10,10,116,197" Name="textwindow7"/>加一个load事件。

然后后台定义一个全局 TextBlock类型的变量。

在load事件中, textblock= sender as TextBlock;就行了。

在水_方 | 园豆:284 (菜鸟二级) | 2012-03-13 10:02

@在水_方: 我试试

汪强 | 园豆:12 (初学一级) | 2012-03-13 10:17

@汪强: Sorry,看错对象了。不过应该差不多,方式都一样。

在水_方 | 园豆:284 (菜鸟二级) | 2012-03-13 10:31

谢谢在水_方,终于实现了!感谢各位的解答。

汪强 | 园豆:12 (初学一级) | 2012-03-13 10:58
其他回答(2)
0

貌似你这样写了Name属性之后就可以通过Name(即mediaElement7)就可以用到了啊。

收获园豆:20
WaitingSky | 园豆:300 (菜鸟二级) | 2012-03-12 21:29

你好,我这样写在mainpage类中没有mediaelement7、textwindow7、gridDH这些成员变量,我用adminDockPanel4.findName("mediaElement7")这个方法也返回null,但是去掉<local:DockPanel.HeaderTemplate>
              <ControlTemplate>就有这些成员变量,但是对textwindow7.TEXT赋值就出错,就是不能使用。

支持(0) 反对(0) 汪强 | 园豆:12 (初学一级) | 2012-03-13 09:28
0

mediaElement7.Text或其他方法,这样用,如果没找到,你试着将原来这个删除,然后再放进去一个,有可能是你的资源文件被破坏了。

收获园豆:20
az235 | 园豆:8483 (大侠五级) | 2012-03-13 08:37

我全部重新删掉,然后重新写了,还是不行,有别的方法么?我用了findname和找之控件的方法,都不行。解答。。。

支持(0) 反对(0) 汪强 | 园豆:12 (初学一级) | 2012-03-13 09:29

@汪强:  重新建立一个文件,看看

支持(0) 反对(0) az235 | 园豆:8483 (大侠五级) | 2012-03-13 09:33

@az235: 试过了,还是不行,删掉<local:DockPanel.HeaderTemplate>和<ControlTemplate>这句后,直接添加mediaelement控件还是能发现mediaelement7这个成员的,但是在mainpage中是null。

支持(0) 反对(0) 汪强 | 园豆:12 (初学一级) | 2012-03-13 09:56

@az235: 刚学silverlight不久,以前是写c++的,所以新手一个,还望指教。。

支持(0) 反对(0) 汪强 | 园豆:12 (初学一级) | 2012-03-13 09:58

@汪强: ?

支持(0) 反对(0) az235 | 园豆:8483 (大侠五级) | 2012-03-13 09:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册