1
我想從DataTemplate共享ListViewItem到DataTemplate中的UserControl使用DataContext,我只花了兩個小時在這個任務上,看了很多網站,但沒有找到一個請求的答案,因爲每次我想要獲得DataContext,它是空的。UWP DataContext從DataTempalte到DataTemplate中的UserControl
短代碼,我想做的事:
在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>
在用戶控件調用:MainWindowLinesInfoFirst
<Grid Margin="2" HorizontalAlignment="Center">
<TextBlock x:Name="MainWindowLinesInfoListView1TextBlock" Foreground="Navy" HorizontalAlignment="Center" TextWrapping="Wrap" />
</Grid>
,並在此用戶控件的的.cs:
public MainWindowLinesInfoFirst()
{
this.InitializeComponent();
var a = this.DataContext as Przystanki;
}
,這裏是一個簡單的類:
public class Przystanki
{
public Przystanki self { get { return this; } }
public string name { get; set; }
}
的問題是,總是當該用戶控件調用,一個DataContext是不是「Przystanki」 BOT空。
問題是:如何發送一個DataContext到這個UserControl?
still null .. using this.DataContextChanged + =(sender,e)=> {var a = this.DataContext as Przystanki; };'和' ' –
Niewidzialny
AH!抓住它!謝謝 !我只是沒有使用參數,我不得不檢查是否空! 'var a = e.NewValue作爲Przystanki;'和'if(a!= null)ChangeText(a);'工作很美好!我的主人; 3 – Niewidzialny
哈,新範圍:D – Niewidzialny