
第一次接触 wpf,但一上来就要改功能。一脸懵逼百度了一下午,没找到解决方法 求解
1 BadCat OP |
2 BadCat OP 用 FindName 查控件 结果是 null 脑袋大 |
3 yaozhenxing 2017 年 12 月 7 日 好像要加 x:name="jyly" 三年前写过 wpf |
4 ragnaroks 2017 年 12 月 7 日 |
5 BadCat OP |
6 nannanziyu 2017 年 12 月 7 日 在 DataTemplate 里,不能这样访问 用 VisualTreehelper 递归下去找 添加下面的扩展方法,然后 this.Layout.FindDescendants<TextBlock>().Where(x=>x.Name == "NAME") https://gist.github.com/gragrance/df3b78931df27a79801c234a37a39cac |
7 jitongxi 2017 年 12 月 7 日 微软的毛玩意出问题很正常......... 我见识过各种各样的. 写 wpf 的时候 |
8 nannanziyu 2017 年 12 月 7 日 @jitongxi 来把你所有能找到 WPF 的所谓 bug 列出来,我给你一一解答 |
9 BadCat OP @nannanziyu Name 和 x:Name 查出来的都是 null |
10 BadCat OP 忘了说了 有 4 个 DataGridTemplateColumn,每个里面结构都是这样的 <DataGridTemplateColumn Header="检验领域" Width="*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock x:Name="JYLY" Text="{Binding Path=MethodField, UpdateSourceTrigger=PropertyChanged}" FOntSize="13" Background="Transparent" HorizOntalAlignment="Center" VerticalAlignment="Center"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> |
11 nannanziyu 2017 年 12 月 7 日 |
12 nannanziyu 2017 年 12 月 7 日 |
13 jitongxi 2017 年 12 月 7 日 @nannanziyu 16 年的时候写的时候, 布局文件的缓存干扰过好几次. |
14 BadCat OP @nannanziyu 确实是这样,现在的目的就是给 TextBlock 赋值,但是这个 binding 我又不会用 搞了半天没搞出个头绪,想用.Text 直接给 TextBlock 赋值。。。。现在的话,我觉得我还是继续看下 binding 吧 |
15 nannanziyu 2017 年 12 月 7 日 @BadCat 你去找 DataGrid 设置 ItemSource 的地方 这个 ItemSource 一定是一个列表,列表的每一个元素就是对应最终表格的一行 这个元素里对应的 MethodField 被绑定到了 TextBlock 上,你只需要改变 MethodField 的值就可以改变显示的文本了 |
16 nannanziyu 2017 年 12 月 7 日 @BadCat 推荐一个 snoop https://github.com/cplotts/snoopwpf wpf 界面开发必备,查可视化树,动态观察和设置 VM 等等( vs2017 也自带了 Live Visual Tree ) |
17 BadCat OP @nannanziyu 我去试一下 多谢 |