问题描述
如果,不给这个Grid一个Name,有什么办法,可以在后台代码中,获取到这个Grid?然后去控制这个Grid,例如:设置grid的背景颜色等等。xaml代码:<TabControlName="tc"><TabItemHeader="第一"Name="ti1"><Grid><Buttonwidth=60height=30>button</Button></Grid></TabItem><TabItemHeader="第二"Name="ti2"</TabItem></TabControl>
有什么办法,在后台代码中,可以获取上面代码的那个grid?(在不给Grid一个Name的前提下)。求教高人了。
解决方案
解决方案二:
解决:System.Windows.Controls.ContentPresentercp=this.tc.Template.FindName("PART_SelectedContentHost",this.tc)asSystem.Windows.Controls.ContentPresenter;System.Windows.Controls.Gridgi=System.Windows.Media.VisualTreeHelper.GetChild(cp,0)asSystem.Windows.Controls.Grid;
解决方案三:
遍历VisualTree最方便了,嘿嘿
解决方案四:
建议你还是用数据绑定和模板吧。这样才符合WPF的思想。用后台代码强行操作界面不是那么优雅。
解决方案五:
用后台代码强行操作界面不是那么优雅。WPF真的是很优雅的东西
时间: 2024-09-15 13:58:23