假设我有
<TextBox
x:Name="txtBox1" />
<!-- more XAML here -->
<TextBox
x:Name="associatedToTextBox1"
IsEnabled={Binding ElementName=txtBox1, Path=Text, Magic=txtBox.Text != string.Empty} />
我希望associatedToTextBox1
只有在txtBox1
不为空时才被启用。我认为有一种方法可以将该功能嵌入到xaml中,而不需要转换器。这可能吗?如果可以,怎么做?
2条答案
按热度按时间tzdcorbm1#
没有什么比“内联表达式”更好的了。
但是,您可以在TextBox样式中使用DataTrigger:
cld4siwp2#
我最近一直在尝试实现这样的东西。取得了一些进展和成功的罗斯林分析仪,但不满意。需要一些更简单,更容易使用。
最终创建了一个标记扩展,它完全按照你在问题中提到的那样做。目前,nuget还在测试阶段。很快就会发布。你可以查看haley.mvvm(版本6.3.1及以上...)
块体:https://www.nuget.org/packages/Haley.MVVM/6.3.0
源代码:https://github.com/TheHaleyProject/HaleyMVVM/blob/development/HaleyMVVM/Extensions/DataTriggerExtension.cs
这可能不是一个干净的解决方案。很多工作需要在未来做,但目前有了这个你可以实现,像下面的东西。