如何根据ListView中的ComboBox来启用/禁用文本框

本文关键字:文本 启用 何根 ListView 中的 ComboBox | 更新日期: 2023-09-27 18:18:50

是否可以根据ComboBox选择的值(例如,如果选择的值是"From to ",则启用/禁用TextBox ?

<ListView Height="120" HorizontalAlignment="Left" Margin="19,92,0,0"
          VerticalAlignment="Top" Width="500" 
          SelectionMode="Multiple"
          ItemsSource="{Binding Products}">
    <ListView.View>
        <GridView>
            <!--another columns-->
            <GridViewColumn Header="Selection Mode">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox Width="70" Name="SelectionMode">
                            <ComboBoxItem Content="From To" IsSelected="True" />
                            <ComboBoxItem Content="List" />
                        </ComboBox>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn>
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBox Width="70"></TextBox>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

如何根据ListView中的ComboBox来启用/禁用文本框

我建议您使用ComboBoxItem的值而不是内容。你需要写一个绑定,它将绑定你的组合框SelectedValue(参见我的建议)到你的文本框的Enabled。绑定将使用转换器(IValueConverter),它将根据传入的SelectedValue值返回TrueFalse -基于您的查询,如果SelectedValue == 'FromTo',您的转换器将返回True,否则返回False

我还建议您使用对象来支持您的UI元素,这无论如何都是一种更干净的做事方式。