I am developing a WinUI 3 application which contains a ListView linked to an Observablecollection which contains canvases , the listview displays the names of the canvases via a DataTemplate but the names are not displayed
<StackPanel Grid.Row="1" Orientation="Vertical">
<ListView x:FieldModifier="public" x:Name="listViewCanvases" Background="SeaGreen" >
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Canvas.Name}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>
ObservableCollection<Canvas> ocCanvases = new ObservableCollection<Canvas>();
ocCanvases.Add(new Canvas(){Name="AAA"});
ocCanvases.Add(new Canvas() { Name = "BBB" });
ocCanvases.Add(new Canvas() { Name = "CCC" });
listViewCanvases.ItemsSource = ocCanvases;
This should work:
<StackPanel
Grid.Row="1"
Orientation="Vertical">
<ListView
x:Name="listViewCanvases"
x:FieldModifier="public"
Background="SeaGreen">
<ListView.ItemTemplate>
<DataTemplate x:DataType="Canvas">
<StackPanel>
<TextBlock Text="{x:Bind Name, Mode=OneWay}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackPanel>