隐藏动态创建的网格子元素
我有一个网格,我在其中创建并添加了后面代码中的元素。
Dim staffImgLeft As New Controls.Image()
staffImgLeft.Name = "StaffImgLeft"
mainGrid.Children.Add(staffImgLeft)
当我尝试从网格中删除子元素时,它们不会被删除。
mainGrid.Children.Remove(mainGrid.FindName("StaffImgLeft"))
代码运行时没有错误。谁能告诉我为什么我的代码不起作用?
I have a grid in which I have created and added elements from the code behind.
Dim staffImgLeft As New Controls.Image()
staffImgLeft.Name = "StaffImgLeft"
mainGrid.Children.Add(staffImgLeft)
When I am attempt to remove the child elements from the grid they are not being removed.
mainGrid.Children.Remove(mainGrid.FindName("StaffImgLeft"))
There are no errors when the code runs. Can anyone advise why my code isnt working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
FindName
返回 null,因此不会删除任何内容。注册名称而不是将其设置为它可以找到:
FindName
returns null, hence nothing gets removed.Register the name instead of setting it to make it findable:
您应该使用
RegisterName
和UnregisterName
,这样您就有一个可以简化对 NameScope 注册的访问的访问器。您可能应该阅读有关 WPF XAML 名称范围的内容
http://msdn.microsoft.com/en-us/library/ms746659.aspx
You should use
RegisterName
andUnregisterName
so you have an accessor that simplifies access to the NameScope registration.You should probably read about WPF XAML Namescopes
http://msdn.microsoft.com/en-us/library/ms746659.aspx