我有DataGrid
显示一些数据。基于某些条件,我需要为DataGrid
中的某个特定单元格制作动画。所以我创建了一个包含标签并给出一些动画的用户控件。
然后我使用Template列在datagrid中显示了这个动画标签。
当我想要启动动画时,我将遍历可视树并找到用户控件并调用StartAnimation
函数。但是这里我收到错误
'lblLabel'名称在system.windows.controls.label的名称范围内找不到。
当我将它放在窗口上时,我可以设置此控件的动画。但是当我在数据网格中使用时会出现问题。
任何人都可以解决这个问题。 或者有没有更好的方法来动画数据网格的单元格?
答案 0 :(得分:3)
经过一整天的工作,我解决了这个问题。
以前,datagrid的xaml代码是这样的:
<DataGridTemplateColumn Header="MyHeader">
<DataGridTemplateColumn.cellTemplate>
<DataTemplate>
<my:mycontrol content="{binding mybinding}">
</DataTemplate>
</DataGridTemplateColumn.cellTemplate>
</DataGridTemplateColumn Header="MyHeader">
这里我没有为MyControl声明名称 所以改变陈述
<my:mycontrol content="{binding mybinding}">
到
<my:mycontrol x:Name="lblLabel"content="{binding mybinding}">
解决了我的问题。 我希望这会帮助别人。