Hi,
I have a xaml which defines a DataTemplate and inside it I have to put some items defined as
<StackPanel Orientation="Horizontal"><TextBox Name="Address" Width="100"/><ComboBox Name="Type"/><TextBox Name="Description" Width="200"/></StackPanel>
So, instead of repeat many times it, I thought to use a ControlTemplate or a UserControl but, due to my limited knowledge, in both cases I have some doubts.
Using ControlTemplate works but, considering this code:
<DataTemplate.Resources><ControlTemplate x:Key="AddressItemTemplate"><StackPanel Orientation="Horizontal"><TextBox Name="Address" Width="200"/><ComboBox Name="Type"/><TextBox Name="Description" Width="200"/></StackPanel></ControlTemplate></DataTemplate.Resources><Grid Margin="0 50 100 0"><Grid.RowDefinitions><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /> ....<RowDefinition Height="Auto" /></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition Width="Auto" /></Grid.ColumnDefinitions><Control Grid.Row="0" Grid.Column="1" Template="{StaticResource AddressItemTemplate}" /><Control Grid.Row="1" Grid.Column="1" Template="{StaticResource AddressItemTemplate}" /><Control Grid.Row="2" Grid.Column="1" Template="{StaticResource AddressItemTemplate}" /></Grid>How can I bind the elements inside my template to the DataProvider (in my case an XmlDataProvider)?
Instead, using a UserControl I don't know to use it after having declare it:
<DataTemplate.Resources><UserControl Name="AddressItem" x:Class="AddressItem.UserControl" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" ><StackPanel Orientation="Horizontal"><TextBox Name="Address" Width="200"/><ComboBox Name="Type"/><TextBox Name="Description" Width="200"/></StackPanel></UserControl></DataTemplate.Resources><Grid Margin="0 50 100 0"><Grid.RowDefinitions><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /><RowDefinition Height="Auto" /> ....<RowDefinition Height="Auto" /></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="Auto" /><ColumnDefinition Width="Auto" /></Grid.ColumnDefinitions>< ???? ></Grid>
Any suggestions?
Daniele.