猿问

Silverlight如何绑定自定义控件

在Silverlight+MVVM开发中,我自定义了子控件,该子控件中有一个标签,我定义了自定义属性,也能够使用了,但是我希望能够动态给这个标签赋值,我想到了有使用子控件的页面中采用绑定的方式,但却不好用,也不报错,比如我定义了一个叫做PageControl的子控件,在.cs文件中自定义了MyText属性,我希望在MainPage.xaml中如此使用:

<my:PageControl  Grid.Row="1"  MyText={Binding MyPageText,Mode=OneWay} x:Name="myPage" />

我希望通过绑定的形式动态指定子控件中MyText的值,但如下所示,标签能显示1,也就是说我的属性定义是没有错的

<my:PageControl  Grid.Row="1"  MyText="你好 "x:Name="myPage" />

望各位大牛不吝赐教,谢谢!


largeQ
浏览 308回答 1
1回答

饮歌长啸

请问你定义的是依赖属性么?在WPF/Silverlight中应该只有依赖属性才能使用"{binding XXX}"还有别忘记设置DataContext。如果你的自定义控件在ItemControl中,binding找的是你ItemSource中的属性值,而不是最外层你指定的DataCOntext.
随时随地看视频慕课网APP
我要回答