Click here to Skip to main content
15,891,431 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi guys,

So I am working on a routine that validates and imports some data between two systems.

both routines output their results into a list of objects and I am trying to bind to this list in my GUI.

What I would like to achieve is that each type of result, be it a validation result or an import result to have its own data template.

For example:

Validation result should look like this:

HTML
 Number : Result


And import result should look like this:

HTML
Source No: Imported No: Printed


The issue I have is that my data template does not appear to be selected and I'm not sure why.

XML
<ListView ItemsSource="{Binding Path=Results}">
	<ListView.Resources>
		<DataTemplate DataType="{x:Type customTypes:ValidationResult}">
			<StackPanel Orientation="Horizontal">
				<TextBlock Text="{Binding Path=InvoiceNumber}" />
				<TextBlock Text="{Binding Path=ResultString}" />
			</StackPanel>
		</DataTemplate>
	</ListView.Resources>
</ListView>


I'm sure I am missing something obvious, but I'm not sure what.

At this time I have only devised the data template for the ValidationResult, but this is because only validation is currently adding its results to the Results collection.


-----------------------------------------
Refinement

Just to add some additional information here.

I might have a results list that looks like this:
HTML
ValidationResult
ValidationResult
ImportResult
ImportResult

My list view is bound to a property of type ReadOnlyCollection<object>
which contains the result list.

My data template shown above is one of two different templates I want to use when displaying the items. However, at this time, even that single template is not displaying data. I have a listview, that clearly has items in as there are selectable items shown on screen, however they do not use the templates and I'm not sure why.
Posted
Updated 1-May-13 6:28am
v3

1 solution

I usuall put the DataTemplate in a GridView control:
http://huydinhpham.blogspot.no/2008/11/using-listvew-to-display-complex-data.html[^]

or you could do it with the ItemsTemplate like this:
http://stackoverflow.com/questions/483542/listbox-with-itemtemplate-and-scrollbar[^]
 
Share this answer
 
Comments
Pheonyx 1-May-13 11:06am    
Having a look at the links, they dont really do what I need. The closest I've seen is the itemselector with itemtemplates, but I don't fully understand them.
Kenneth Haugland 1-May-13 11:20am    
I think you need to use the ItemsTemplate to make this work properly as you have specified in you XAML code. However, I could be wrong :-)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900