C# 从CodeBehind到达DataTemplate元素

C# 从CodeBehind到达DataTemplate元素,c#,wpf,windows-8,windows-store-apps,C#,Wpf,Windows 8,Windows Store Apps,我有以下代码(大XAML文件的一部分): 当R2被点击时,我想改变R1矩形的背景,所以我需要从CodeBehind到达R1。我试图给元素命名为x:Name,但没有用 Thx要获得帮助,我建议您绑定矩形的颜色,而不是尝试查找UI元素。 将xaml更改为 <DataTemplate> <Grid> <Rectangle Name="R1" Fill="{Binding FirstBackground}"/> <Re

我有以下代码(大XAML文件的一部分):


当R2被点击时,我想改变R1矩形的背景,所以我需要从CodeBehind到达R1。我试图给元素命名为x:Name,但没有用


Thx要获得帮助,我建议您绑定矩形的颜色,而不是尝试查找UI元素。 将xaml更改为

<DataTemplate>
    <Grid>
        <Rectangle Name="R1" Fill="{Binding FirstBackground}"/>
        <Rectangle Name="R2" Tapped="RTEventHandler"/>
    </Grid>
</DataTemplate>

确保MyViewModel类实现INotifyPropertyChanged

尝试
(矩形)此选项。FindName(“R1”)
是否有帮助?只是一个链接不好,请发布代码,然后添加链接以供参考。
<DataTemplate>
    <Grid>
        <Rectangle Name="R1" Fill="{Binding FirstBackground}"/>
        <Rectangle Name="R2" Tapped="RTEventHandler"/>
    </Grid>
</DataTemplate>
var viewModel = (sender as Rectangle).DataContext as MyViewModel;
viewModel.FirstBackground = new SolidColorBrush(Colors.Green);