Come faccio a dire .ToString () in XAML?
Domanda
Il seguente codice mi dà l'errore (non è possibile aggiungere il tipo di oggetto a StackPanel).
Come posso dire .ToString () in XAML?
<Window.Resources>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Content">
<Setter.Value>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=FirstName}"/>
</StackPanel>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Grid>
<ListBox x:Name="theCustomers"/>
</Grid>
vincolante nel code-behind con ADO.NET Entity Framework:
MainEntities db = new MainEntities();
var customers = from c in db.CustomersSet
select c;
theCustomers.ItemsSource = customers;
Soluzione
È necessario impostare la ContentTemplate
proprietà, non Content
.
Prova:
<Setter Property="ContentTemplate" >
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=FirstName}"/>
<TextBlock Text=" "/>
<TextBlock Text="{Binding Path=LastName}"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow