I am relatively new in WPF and I face a problem.
I have to implement a form that gets the UI(xaml) from the database (as also the data). Each of these forms that will be created at runtime they will have different controls.
Although I disagree with this approach I have to follow my boss directions.
The problem is with the validation.
We decided to do it with Validation Rules.
So I tried to implemented the basic example with the AgeRangeRule.
<TextBox Name="textBox1" Width="50" FontSize="15" Validation.ErrorTemplate="{StaticResource validationTemplate}" Style="{StaticResource textBoxInError}" Grid.Row="1" Grid.Column="1" Margin="2"> <TextBox.Text> <Binding Path="Age" Source="{StaticResource ods}" UpdateSourceTrigger="PropertyChanged" > <Binding.ValidationRules> <c:AgeRangeRule Min="21" Max="130"/> </Binding.ValidationRules> </Binding> </TextBox.Text> </TextBox> The error that I get when I load the xaml is
Additional information: 'Cannot create unknown type '{clr-namespace:WpfDynamicTest1}AgeRangeRule'.' And is in this line:
<c:AgeRangeRule Min="21" Max="130"/> Note: c is defined as:
xmlns:c="clr-namespace:WpfDynamicTest1" How can I overcome this error?
I faced similar errors with the ControlTemplate and Style for the errors but I moved them to the Application.xaml and my problems solved.
Can I do something similar with the reference to the class?
Edit: Additional Info: How I load the xaml:
The "cell" form has these properties:
Public Property FormId() As Integer Get Return miFormId End Get Set(ByVal value As Integer) miFormId = value FormCharacteristics(value) End Set End Property Public Property UI() As String Get Return msUI End Get Set(ByVal value As String) msUI = value Dim rootObject As DependencyObject = XamlReader.Parse(value) Me.Content = rootObject End Set End Property So when I call the form I do this:
Dim winD As New winDynamic winD.FormId = 4 winD.Show() The FormCharacteristics fills msUI and UI is loaded.