我有一个ItemsControl,里面装有ModelView和这个XAML标记:
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0, 0, 0, 5">
<TextBlock Text="{Binding Value}" Margin="5, 2, 0, 0" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
我想以编程方式获取TextBlock元素,以便在验证数据后可以更改它的样式,我该怎么做?
答案 0 :(得分:0)
为items控件添加名称,例如:
Task.FromResult(object)
在CustomControl中添加StackPanel公共属性,例如:
<StackPanel x:Name="MyStack" Orientation="Horizontal" Margin="0, 0, 0, 5">
<TextBlock Text="{Binding Value}" Margin="5, 2, 0, 0" />
</StackPanel>
并将自定义控件的OnApplyTemplate覆盖为:
public StackPanel ItemsControl {get;set;}
您将能够访问stackpanel及其子代。