C# WPF控件和对给定字符串的解析/绑定
我是WPF新手,正在尝试创建一个WPF控件,该控件以特定方式显示字符串(始终是数字)。控件上将有三个不同的文本字段,字符串需要按照以下规则拆分为三个不同的组件: 假设您有字符串“1.5678”。控件需要在三个文本字段中显示如下字符串:C# WPF控件和对给定字符串的解析/绑定,c#,wpf,data-binding,C#,Wpf,Data Binding,我是WPF新手,正在尝试创建一个WPF控件,该控件以特定方式显示字符串(始终是数字)。控件上将有三个不同的文本字段,字符串需要按照以下规则拆分为三个不同的组件: 假设您有字符串“1.5678”。控件需要在三个文本字段中显示如下字符串: textField1=“1.5” textField2=“67” textField3=“8” 规则是textField3将始终包含最后一个字符,textField2将包含最后一个字符之前的两个字符,textField1将包含其余字符。以下是更多的例子: “145
textField1=“1.5”
textField2=“67”
textField3=“8” 规则是textField3将始终包含最后一个字符,textField2将包含最后一个字符之前的两个字符,textField1将包含其余字符。以下是更多的例子: “145.670”
textField1=“145。”
textField2=“67”
textField3=“0” “15.839”
textField1=“15。”
textField2=“83”
textField3=“9” 假设字符串始终包含至少4个字符 现在,有没有一种方法可以让我使用新的WPF绑定特性自动完成这项工作?我是否可以将WPF控件绑定到包含字符串的某个属性,并让文本框如我所述显示它
谢谢,您可以通过绑定(到单个属性)来实现这一点,方法是使用用于绑定的。IValueConverter的文档提供了一个示例实现 每个控件都可以有一个转换器,指定要显示的部分,然后文本框绑定将为您执行转换
请注意,您可以使用三个单独的转换器类,或者使用一个带有枚举的类来指定要显示的部分(仍然需要三个唯一实例)。是的,这应该是可能的
Text
/TextProperty
)(以后使用控件时可以将数据绑定到此属性)PartNumber
){binding ElementName=myControl,Path=Text,Converter={StaticResource FirstPartConverter}}
),使用正确的转换器将控件中的文本字段绑定到依赖项属性如果有任何步骤不清楚,请随时在评论中询问。使用值转换器不允许使用双向绑定,因为不可能仅根据更改的一部分来确定整个值。没有,但他特别提到了字符串的显示-他没有指定需要编辑字符串。