Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
http://stackoverflow.com/...atemplate-in-c-sharp-code
Even uit het hoofd was het zoiets
1
2
| Dim textblock = New FrameworkElementFactory(GetType(TextBlock)) textblock.SetValue(TextBlock.TextProperty, New Binding("Categorie")) |
Dat werkt helaas niet omdat dat WPF Xaml is en niet Windows Store XamlNickThissen schreef op zondag 25 november 2012 @ 14:15:
Eerste hit op google?
http://stackoverflow.com/...atemplate-in-c-sharp-code
Even uit het hoofd was het zoiets
Visual Basic .NET:
1 2 Dim textblock = New FrameworkElementFactory(GetType(TextBlock)) textblock.SetValue(TextBlock.TextProperty, New Binding("Categorie"))
[ Voor 12% gewijzigd door Swerfer op 25-11-2012 14:24 ]
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Beetje dit idee:
http://www.c-sharpcorner....te-in-windows-store-apps/
Ik wil juist afwijken van de standaard. Ik wil namelijk volledige flexibiliteit hebben met hoe ik de StackPanel vul. Ik wil meerdere verschillende datatemplates door elkaar en meerdere keren kunnen toevoegen aan de stackpanel, maar met verschillende data eraan gebonden. Het voordeel van het gebruik van datatemplates is dat ze makkelijk in de design editor van Visualstudio te maken zijn.jip_86 schreef op zondag 25 november 2012 @ 22:21:
In WPF is een datatemplate alleen maar een representatie van een item uit je datasource. Je bind dus geen datasource aan je datatemplate maar stelt je categoriën/datasource dus in op de contentpresenter. Per item in je datasource word dan het datatemplate toegevoegd. Je hoeft op deze manier dus niet met children aan de slag.
Beetje dit idee:
http://www.c-sharpcorner....te-in-windows-store-apps/
Het lukt me wel om de data te koppelen, maar dat gaat via Loaded events, waarbij ik via een omweg de juiste data in de juiste controls krijg. Het lijkt mij dat het ook mogelijk moet zijn om op een direkte manier de data te binden, voor ik de datatemplate toevoeg aan de stackpanel via 'children.add'
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com
Verwijderd
Maak een viewmodel waarin je je resources exposed en gebruik een itemscontrol om je panels in te steken. Daarin kan je meerdere datatemplates gebruiken, waarbij je onderscheid maakt tussen je verschillende types
Zoiets:
1
2
3
4
5
6
7
8
9
10
| <ItemsControl ItemsSource="{Binding mijnresources}"> <ItemsControl.ItemTemplate> <DataTemplate DataType="{x:Type type1}"> <TextBlock Text="{Binding resourcenaam}" /> </DataTemplate> <DataTemplate DataType="{x:Type type2}"> <TextBlock Text="{Binding resourcenaam.ietsanders}" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> |
[ Voor 21% gewijzigd door Verwijderd op 26-11-2012 12:37 ]