我正在尝试通过标签查找标签,以便在满足特定条件时在标签旁边添加其他标签。
在旧学校winform中,我只会使用:
Label sublabel = Controls.Find(Sub.id, true).FirstOrDefault() as Label;
view.xaml的片段:
<Grid>
<Label
Content = "{Binding Path = NodeName, Mode = OneWay}"
Background = "{Binding Path = NodeStatus, Mode = OneWay}"
Tag="{Binding Path = Nodeid, Mode = OneWay}"
我尝试了以下方法:
var label = Grid.Children.OfType<Label>()
.First(i => i.Tag == "tagid");
但会生成
An object reference is required for the non-static field, method, or property 'Panel.Children'
感谢您的光临
答案 0 :(得分:5)
您可以在XAML标记中为quotient
赋予Grid
:
x:Name
...并在您的代码中使用该名称进行引用:
<Grid x:Name="theGrid">
请注意,无论如何,这不是MVVM。使用MVVM,您可以访问var label = theGrid.Children.OfType<Label>() ...
元素的Nodeid
源属性,而不是Tag
属性。