C# 从DataTemplate中的DataTempalte到UserControl的UWP DataContext

C# 从DataTemplate中的DataTempalte到UserControl的UWP DataContext,c#,xaml,user-controls,uwp,C#,Xaml,User Controls,Uwp,我想使用DataContext将ListViewItem从DataTemplate共享到DataTemplate中的UserControl,我只花了两个小时完成此任务,查看了许多站点,但没有找到请求的答案,因为每次我想获取DataContext时,它都是空的 简短的代码,我想做的是: 在Page.xaml中 <ListView Name="MainWindowLinesInfoListView1" IsItemClickEnabled="True" ItemClick="MainWindo

我想使用DataContext将ListViewItem从DataTemplate共享到DataTemplate中的UserControl,我只花了两个小时完成此任务,查看了许多站点,但没有找到请求的答案,因为每次我想获取DataContext时,它都是空的

简短的代码,我想做的是:

在Page.xaml中

<ListView Name="MainWindowLinesInfoListView1" IsItemClickEnabled="True" ItemClick="MainWindowLinesInfoListView1_ItemClick" Grid.Row="1" ItemsSource="{x:Bind pk1}" SelectionMode="Single">
       <ListView.ItemTemplate>
            <DataTemplate x:DataType="data:Przystanki">
                <local:MainWindowLinesInfoFirst DataContext="{x:Bind self}" />
            </DataTemplate>
        </ListView.ItemTemplate>
</ListView>
下面是一个简单的类:

public class Przystanki
{
    public Przystanki self { get { return this; } }
    public string name { get; set; }
}
问题是,当调用this UserControl时,DataContext总是不是“Przystanki”bot null

问题是:如何将DataContext发送到此UserControl?

UWP的作用:

  • 首先创建
    MainWindowLinesInfoFirst
    控件
  • 将其
    DataContext
    属性设置为所需的值
  • 显然,您无法读取构造函数中的
    DataContext
    属性,因为控件尚未创建,而且UWP无法在创建实例之前设置属性


    您需要订阅构造函数中的
    DataContextChanged
    事件。当UWP设置它时,将通知您。

    仍然为空。。使用
    this.DataContextChanged+=(sender,e)=>{var a=this.DataContext作为Przystanki;}
    啊!抓住它!谢谢我只是没有使用参数,我必须检查是否为空<代码>变量a=e.NewValue作为Przystanki
    如果(a!=null)ChangeText(a)并且工作得很好!我的主人;3.
    
    public MainWindowLinesInfoFirst()
    {
        this.InitializeComponent();
        var a = this.DataContext as Przystanki;
    }
    
    public class Przystanki
    {
        public Przystanki self { get { return this; } }
        public string name { get; set; }
    }