Hello,
I'm trying to have the carousel bind to xml data.
I Have a grid with textboxes, Image, and listbox.
Using xmlDataProvider and CollectionViewSource I'm able to point to the data file.
The issue is the data is grouped by employee name, the listbox populates the current list for that certain employee. But the IMage and other Employee info loses the binding. The Carousel populates the correct amount of employees etc.
When I Change the Data Content the Image and Employee Info binds, but the listbox data loses its binding and the Carousel populates every node in the xml file.
Here is the code:
XML FIle
The XAML:
Thoughts?
Thank you
Rick Mueller
I'm trying to have the carousel bind to xml data.
I Have a grid with textboxes, Image, and listbox.
Using xmlDataProvider and CollectionViewSource I'm able to point to the data file.
The issue is the data is grouped by employee name, the listbox populates the current list for that certain employee. But the IMage and other Employee info loses the binding. The Carousel populates the correct amount of employees etc.
When I Change the Data Content the Image and Employee Info binds, but the listbox data loses its binding and the Carousel populates every node in the xml file.
Here is the code:
XML FIle
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
standalone
=
"yes"
?>
<
NewDataSet1
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
>
<
Table
>
<
RecipeID
>117</
RecipeID
>
<
RecipeName
>1620 Shrimp</
RecipeName
>
<
PrepTime
>0.00347222222222222</
PrepTime
>
<
Station
>PULL</
Station
>
<
Employee
>Josa Sosa</
Employee
>
<
Image
>Male.jpg</
Image
>
</
Table
>
<
Table
>
<
RecipeID
>116</
RecipeID
>
<
RecipeName
>26/30 Shrimp</
RecipeName
>
<
PrepTime
>0.00347222222222222</
PrepTime
>
<
Station
>PULL</
Station
>
<
Employee
>Josa Sosa</
Employee
>
<
Image
>Male.jpg</
Image
>
</
Table
>
<
Table
>
<
RecipeID
>42</
RecipeID
>
<
RecipeName
>Ale and Cheddar Soup</
RecipeName
>
<
PrepTime
>0.03125</
PrepTime
>
<
Station
>SS</
Station
>
<
Employee
>Maria Anders</
Employee
>
<
Image
>Female.jpg</
Image
>
</
Table
>
<
Table
>
<
RecipeID
>41</
RecipeID
>
<
RecipeName
>Alfredo Sauce</
RecipeName
>
<
PrepTime
>0.03125</
PrepTime
>
<
Station
>SS</
Station
>
<
Employee
>Maria Anders</
Employee
>
<
Image
>Female.jpg</
Image
>
</
Table
>
<
Table
>
<
RecipeID
>126</
RecipeID
>
<
RecipeName
>American Cheese Portioned/Wrapped</
RecipeName
>
<
PrepTime
>0.00347222222222222</
PrepTime
>
<
Station
>BR</
Station
>
<
Employee
>Rick Mueller</
Employee
>
<
Image
>Male.jpg</
Image
>
</
Table
>
<
Table
>
<
RecipeID
>242</
RecipeID
>
<
RecipeName
>Apple Cinn Scones</
RecipeName
>
<
PrepTime
>0.0104166666666667</
PrepTime
>
<
Station
>PULL</
Station
>
<
Employee
>Josa Sosa</
Employee
>
<
Image
>Male.jpg</
Image
>
The XAML:
<
UserControl.Resources
>
<
XmlDataProvider
x:Key
=
"ProductionData"
Source
=
"Database/ProductionData.xml"
XPath
=
"NewDataSet1/Table"
/>
<
CollectionViewSource
x:Key
=
"CallPrepData"
Source
=
"{StaticResource ProductionData}"
>
<
CollectionViewSource.SortDescriptions
>
<
scm:SortDescription
PropertyName
=
"Station"
Direction
=
"Ascending"
/>
<
scm:SortDescription
PropertyName
=
"RecipeName"
/>
<
scm:SortDescription
PropertyName
=
"Station"
/>
<
scm:SortDescription
PropertyName
=
"PrepTime"
/>
<
scm:SortDescription
PropertyName
=
"RecipeID"
/>
<
scm:SortDescription
PropertyName
=
"Image"
/>
<
scm:SortDescription
PropertyName
=
"Employee"
Direction
=
"Ascending"
/>
</
CollectionViewSource.SortDescriptions
>
<
CollectionViewSource.GroupDescriptions
>
<
PropertyGroupDescription
PropertyName
=
"Employee"
/>
</
CollectionViewSource.GroupDescriptions
>
</
CollectionViewSource
>
<
DataTemplate
x:Key
=
"TableTemplate"
>
<
Grid
>
<
Image
Height
=
"107"
HorizontalAlignment
=
"Left"
Source
=
"{Binding XPath=IMage}"
Margin
=
"12,12,0,0"
x:Name
=
"image1"
Stretch
=
"Fill"
VerticalAlignment
=
"Top"
Width
=
"120"
/>
<
TextBlock
Height
=
"40"
HorizontalAlignment
=
"Left"
Margin
=
"157,12,0,0"
x:Name
=
"Employeename"
Text
=
"{Binding XPath=Employee}"
VerticalAlignment
=
"Top"
Width
=
"180"
FontSize
=
"22"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"157,43,0,0"
x:Name
=
"textBlock21"
Text
=
"Station:"
VerticalAlignment
=
"Top"
Width
=
"82"
FontSize
=
"12"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"157,66,0,0"
x:Name
=
"textBlock2"
Text
=
"Total Items"
VerticalAlignment
=
"Top"
Width
=
"82"
FontSize
=
"12"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"157,96,0,0"
x:Name
=
"textBlock3"
Text
=
"Total Prep Time:"
VerticalAlignment
=
"Top"
Width
=
"92"
FontSize
=
"12"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"256,66,50,0"
x:Name
=
"textBlock4"
Text
=
"{Binding ItemCount}"
VerticalAlignment
=
"Top"
Width
=
"44"
FontSize
=
"12"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"255,96,0,0"
x:Name
=
"textBlock5"
Text
=
"180 min"
VerticalAlignment
=
"Top"
Width
=
"82"
FontSize
=
"12"
/>
<
TextBlock
Height
=
"23"
HorizontalAlignment
=
"Left"
Margin
=
"255,43,0,0"
x:Name
=
"Stat"
Text
=
"{Binding XPath=Station}"
VerticalAlignment
=
"Top"
Width
=
"82"
FontSize
=
"12"
/>
<
ListBox
Margin
=
"0,120,0,0"
HorizontalAlignment
=
"Left"
x:Name
=
"listBox2"
Height
=
"490"
Background
=
"Transparent"
BorderBrush
=
"Transparent"
ItemsSource
=
"{Binding Items}"
VerticalAlignment
=
"Top"
Width
=
"449"
>
<
ListBox.ItemTemplate
>
<
DataTemplate
>
<
StackPanel
Orientation
=
"Horizontal"
>
<
Grid
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"60*"
/>
<
ColumnDefinition
Width
=
"241*"
/>
</
Grid.ColumnDefinitions
>
<
TextBlock
Text
=
"{Binding XPath=RecipeID}"
Grid.Column
=
"1"
FontSize
=
"16"
/>
<
TextBlock
Text
=
"{Binding XPath=RecipeName}"
Grid.Column
=
"2"
FontSize
=
"16"
Margin
=
"50,0,0,0"
/>
</
Grid
>
</
StackPanel
>
</
DataTemplate
>
</
ListBox.ItemTemplate
>
</
ListBox
>
</
Grid
>
</
DataTemplate
>
</
UserControl.Resources
>
<
Grid
Margin
=
"0,0,8,180"
DataContext
=
"{Binding Source={StaticResource CallPrepData}}"
>
<
telerik:RadCarousel
Margin
=
"0,0,0,0"
Background
=
"Transparent"
ItemsSource
=
"{Binding Groups}"
ItemTemplate
=
"{DynamicResource TableTemplate}"
/>
</
Grid
>
</
UserControl
>
Thoughts?
Thank you
Rick Mueller