WPF ItemsControl以编程方式获取XAML元素?

时间:2015-05-08 20:05:48

标签: c# wpf xaml

我有一个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元素,以便在验证数据后可以更改它的样式,我该怎么做?

1 个答案:

答案 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及其子代。