描述:
使用Silverlight 4,Mvvm等(适用于Silverlight LOB应用程序的标准开发人员工具集).
实体列表成功绑定到DataGrID.一个属性(可空的bool BoolValue)负责实体行为,并在datagrID中显示图片,单击这将导致更改LayoutRoot元素中某些控件的可见性.
问题:
问题是,遗憾的是,或者幸运的是,DataTemplate中的Elementname绑定没有看到放置在此模板中的其他元素.
代码示例:
<navigation:DataGrIDTemplateColumn WIDth="40" CanUserReorder="True" CanUserSort="False"> <navigation:DataGrIDTemplateColumn.CellTemplate> <DataTemplate> <border Background="GhostWhite"> <GrID> <Image x:name="ImageWithTrigger" GrID.Column="1" margin="10,4,0" HorizontalAlignment="left" VerticalAlignment="Center" Cursor="Hand" Source="images/someImage.png" Stretch="None" Visibility={Binding BoolValue,Converter={StaticResource boolToVisibilityConverter} }> <i.Interaction.Triggers> <i:EventTrigger Eventname="MouseleftbuttonDown"> <AttachedBehaviors:TrickyBehavior FrameworkElementToHIDe="{Binding Elementname=FirstControlOutsIDe}" FrameworkElementToShow="{Binding Elementname=SecoundControlOutsIDe}"/> </i:EventTrigger> </i:Interaction.Triggers> </GrID> </border> </DataTemplate> </navigation:DataGrIDTemplateColumn.CellTemplate></navigation:DataGrIDTemplateColumn>
在上面的示例中,FrameworkElementToHIDe和FrameworkElementToShow始终为null.
互联网上有很多非常类似的问题和解决方案,但我没有找到解决这个问题的任何简单而优雅的方法.
解决方法 请看看这个 post的答案.Elementname绑定在DataGrID中不起作用.您需要一个代理来解决这个问题.但是,Elementname绑定适用于普通的DataTemplates,例如ListBox等的ItemTemplate
总结以上是内存溢出为你收集整理的silverlight – SL4. ElementName绑定在DataTemplate中不起作用全部内容,希望文章能够帮你解决silverlight – SL4. ElementName绑定在DataTemplate中不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)