Reputation: 1469
I am trying to load this xaml using XamlReader.Parse() and this code:
<helpers:FilterDataGrid
xmlns:helpers="clr-namespace:URM.Helpers;assembly=URM"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:grid="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:convert="clr-namespace:URM.Converters;assembly=URM"
ItemsSource ="{Binding PendingContracts}"
AutoGenerateColumns="False"
Margin="20,0,10,0"
Height ="Auto"
Width ="Auto">
<helpers:FilterDataGrid.Resources>
<convert:DateConverter x:Key="DateConverter"/>
</helpers:FilterDataGrid.Resources>
<helpers:FilterDataGrid.Columns>
<grid:DataGridTextColumn Header="Contract Id" Binding="{Binding ContractId}" />
<grid:DataGridTextColumn Header="Date Submitted" Binding="{Binding DateSubmitted, {StaticResource DateConverter}}" />
<grid:DataGridTextColumn Header="Submitted By" Binding="{Binding Submitted_by}" />
<grid:DataGridTextColumn Header="Company Name" Binding="{Binding Proprietors_Company_Name}" />
<grid:DataGridTextColumn Header="Term Of Contract" Binding="{Binding TermOfContact}" />
</helpers:FilterDataGrid.columns>
</helpers:FilterDataGrid>
How do I add the converter. I have added the namespace for the converter but I keep getting this error:
'Cannot create unknown type '{clr-namespace:URM.Converters;assembly=URM}DateConverter'.'
I added this is the same manner I added all the other namespaces which work well.
Edit: Parse Code
private void Initialize()
{
using (var sp = new SilentPartnerDataContext())
{
try {
PendingContracts = new ObservableCollection<SalesContract>(GetAllContracts());
string data = sp.XamlExpressions.Single(c => c.UserControlName == "PendingContracts").XamlText;
ContractContent = XamlReader.Parse(data) as FrameworkElement;
}
catch(Exception)
{
MessageBox.Show("Unable to show data");
}
}
}
Upvotes: 2
Views: 1061
Reputation: 128060
Make sure that the DateConverter class is public:
public class DateConverter : IValueConverter
{
...
}
Upvotes: 4