选择组合框项目时启用文本框

2024-04-21

我想在选择组合框项时启用文本框。请注意,组合框项目未定义,而是我在组合框中使用项目源来获取组合框项目的列表。我想在选择组合框项目时更改文本框的属性。

(评论粘贴到原始问题)

<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(使用前将#替换为@)

选择组合框项目时启用文本框 的相关文章

随机推荐