说实话,每次我想让我的UI元素彼此交流时,都会编写一个新的自定义IValueConverter :(。请有人告诉我我做错了,好吗!
例如: - 我想让按钮仅在我的文本框包含有效URI时启用。太好了,是时候编写UriIsValidConverter了! - 哦糟糕,我还想在处理某些内容时禁用它。我猜现在需要编写UriIsValidAndBoolIsFalseMultiConverter! - 我想在列表框中显示特定目录(由文本框指定)中的文件列表。我猜我需要一个DirectoryPathToFileList转换器! - 哦,嘿,我想为列表视图中的每个文件添加图标。是时候使用FileInfoToBitmap转换器了! - 如果我的状态字符串包含“Error”,则我希望我的状态为红色,否则为绿色。耶,我可以编写一个StatusStringToSolidColorBrushConverter!
我真的认为这并不比旧的Windows Forms方法手动使用TextChanged事件(或其他事件)连接所有内容要好多少。我想这仍然是一种选择。也许这就是人们实际上所做的,而我试图过于努力使一切符合数据绑定范例?
所以,请告诉我这是否就是WPF编程的方式,或者如果我做错了,那我应该做什么。
例如: - 我想让按钮仅在我的文本框包含有效URI时启用。太好了,是时候编写UriIsValidConverter了! - 哦糟糕,我还想在处理某些内容时禁用它。我猜现在需要编写UriIsValidAndBoolIsFalseMultiConverter! - 我想在列表框中显示特定目录(由文本框指定)中的文件列表。我猜我需要一个DirectoryPathToFileList转换器! - 哦,嘿,我想为列表视图中的每个文件添加图标。是时候使用FileInfoToBitmap转换器了! - 如果我的状态字符串包含“Error”,则我希望我的状态为红色,否则为绿色。耶,我可以编写一个StatusStringToSolidColorBrushConverter!
我真的认为这并不比旧的Windows Forms方法手动使用TextChanged事件(或其他事件)连接所有内容要好多少。我想这仍然是一种选择。也许这就是人们实际上所做的,而我试图过于努力使一切符合数据绑定范例?
所以,请告诉我这是否就是WPF编程的方式,或者如果我做错了,那我应该做什么。