我想在选择组合框项时启用文本框。请注意,组合框项目未定义,而是我在组合框中使用项目源来获取组合框项目的列表。我想在选择组合框项目时更改文本框的属性。
(评论粘贴到原始问题)
<DataTrigger Binding="{Binding ElementName=cmbInstrumentType,
Path=SelectedIndex}"
Value="1" >
<Setter Property="IsEnabled" Value="true" />
<Setter Property="Background" Value="White" />
</DataTrigger>
我只希望它在 XAML 中而不是在代码后面。我不想对每个索引值重复这一点 –
虽然better方法是使用 MVVM 模式并绑定到 ViewModel 中的属性(如 Dabblenl 建议的那样),我认为您可以像这样实现您想要的:
<StackPanel>
<ComboBox ItemsSource="{Binding Items}" Name="cmbInstrumentType"/>
<TextBox>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cmbInstrumentType, Path=SelectedItem}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
</StackPanel>
如果组合框中未选择任何项目,这将禁用文本框。
Edit:扩展代码片段
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)