无法使用 XAML 页中的 X:Name 访问 UserControl

Unable to access UserControl using X:Name from XAML Page

这是嵌入到我的页面列表视图中的用户控件

<ListView.ItemTemplate>
    <DataTemplate x:DataType="data:ZTask">
        <local:AddUserControl x:Name="MyUserControl" 
            HorizontalAlignment="Stretch" 
            VerticalAlignment="Stretch" />
    </DataTemplate>
</ListView.ItemTemplate>

我已使用 X: 名称将其命名为 MyUserControl。我尝试在我的页面 cs 文件中访问它,但它给我一个错误 "The name 'MyUserControl' does not exist in the current context"。 帮我解决这个问题。

您希望引用 AddUserControl 的哪个特定实例,因为 ListView 中的每个项目都会添加一个 AddUserControl

如果您想对 AddUserControls 做一些事情,您可以为它们中的每一个处理 Loaded 事件:

<ListView.ItemTemplate>
    <DataTemplate x:DataType="data:ZTask">
        <local:AddUserControl x:Name="MyUserControl" 
                    HorizontalAlignment="Stretch" 
                    VerticalAlignment="Stretch"
                    Loaded="OnLoaded"/>
    </DataTemplate>
</ListView.ItemTemplate>

private void OnLoaded(object sender, RoutedEventArgs e)
{
    AddUserControl auc = (AddUserControl)sender;
    //...
}