Ich möchte ein ListViewItem von DataTemplate zu einem UserControl in DataTemplate mit DataContext teilen, ich verbringe nur zwei Stunden mit dieser Aufgabe, sah viele Seiten, aber nicht eine angeforderte Antwort finden, weil jedes Mal möchte DataContext erhalten, ist es null.UWP DataContext von DataTempalte zu UserControl in DataTemplate
Short-Code, was ich tun möchte:
In 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>
in Usercontrol genannt: MainWindowLinesInfoFirst
<Grid Margin="2" HorizontalAlignment="Center">
<TextBlock x:Name="MainWindowLinesInfoListView1TextBlock" Foreground="Navy" HorizontalAlignment="Center" TextWrapping="Wrap" />
</Grid>
und in CS- dieser Usercontrol:
public MainWindowLinesInfoFirst()
{
this.InitializeComponent();
var a = this.DataContext as Przystanki;
}
und hier ist eine einfache Klasse:
public class Przystanki
{
public Przystanki self { get { return this; } }
public string name { get; set; }
}
Das Problem ist, dass immer dann, wenn eine dieser Usercontrol genannt wird, ein Datacontext null keine „Przystanki“ Bot ist.
Frage ist: Wie ein DataContext zu diesem UserControl senden?
immer noch Null .. mit 'this.DataContextChanged + = (Absender, e) => {var a = this.DataContext als Przystanki; }; 'und' ' –
Niewidzialny
AH! Fang es an! Vielen Dank ! Ich habe einfach keine Argumente verwendet und ich musste überprüfen, ob es nicht null ist! 'var a = e.NewValue als Przystanki;' und 'if (a! = null) ChangeText (a);' Und funktioniert schön! Mein Meister; 3 – Niewidzialny
hah, neues Sortiment: D – Niewidzialny