通过验证将XAML文本框转换为C#

通过验证将XAML文本框转换为C#,c#,wpf,validation,xaml,textbox,C#,Wpf,Validation,Xaml,Textbox,我正在尝试将这个带有验证的xaml文本框转换为C#,以便可以从代码中动态创建和填充它。我无法创建验证绑定。有人能提供一些提示吗 <TextBox Height="20" Width="200" > <Binding RelativeSource="{x:Static RelativeSource.Self}" Path="Text" > <Binding.ValidationRules> <

我正在尝试将这个带有验证的xaml文本框转换为C#,以便可以从代码中动态创建和填充它。我无法创建验证绑定。有人能提供一些提示吗

<TextBox Height="20" Width="200" >
      <Binding RelativeSource="{x:Static RelativeSource.Self}" Path="Text" >
           <Binding.ValidationRules>
                <runtime:StandardTextBoxValidationRule/>
           </Binding.ValidationRules>
       </Binding>
</TextBox>

您可以这样做:

TextBox textBox = // Get or create the text box

var binding = new Binding();
binding.Source = RelativeSource.Self;
binding.Path = new PropertyPath("Text");
binding.ValidationRules.Add(new StandardTextBoxValidationRule());
textBox.SetBinding(TextBox.TextProperty, binding);

您只是从WPF页面中动态创建textbox吗?不是,它是在与WPF页面位于同一程序集中的控件生成类中创建的。我必须添加以下内容才能使其工作绑定。Path=new PropertyPath(“Text”);再次感谢。很高兴它起作用了。我也在我的答案中添加了这一点,以防其他人发现。你也可以使用
newbinding(“Text”)