WPF基于Combobox selecteditem禁用文本框

WPF基于Combobox selecteditem禁用文本框,wpf,vb.net,xaml,data-binding,combobox,Wpf,Vb.net,Xaml,Data Binding,Combobox,使用VB.net WPF应用程序,我想尝试将combobox selecteditem绑定到文本框的enable属性。我认为有一种方法可以使用样式/触发器来实现,但我不知道如何实现。我不能使用事件的属性,因为这些控件绑定在ItemsControl中并动态填充。任何帮助都将不胜感激,谢谢。这是我的xaml: <ComboBox x:Name="cmbFood" ItemsSource="{Binding Path=FoodItemList}"

使用VB.net WPF应用程序,我想尝试将combobox selecteditem绑定到文本框的enable属性。我认为有一种方法可以使用样式/触发器来实现,但我不知道如何实现。我不能使用事件的属性,因为这些控件绑定在ItemsControl中并动态填充。任何帮助都将不胜感激,谢谢。这是我的xaml:

 <ComboBox x:Name="cmbFood" 
           ItemsSource="{Binding Path=FoodItemList}" 
           SelectedItem="{Binding Path=FoodItem}"
           Width="175"
           >                                                                   
 </ComboBox>

 <xctk:WatermarkTextBox x:Name="txtAmount" 
                        Width="45" 
                        Margin="5,0,0,0" 
                        Text="{Binding Path=Amount}" 
                        Watermark="{Binding Path=wAmount}" 
                        Foreground="Blue"
                        />

您可以选择
DataTrigger
,这样您就可以获取作为SelectedValue的字符串,如果它作为一个条件匹配,告诉它更改默认设置为False的IsEnabled状态。基本上

<ComboBox x:Name="cmbFood" 
           ItemsSource="{Binding Path=FoodItemList}" 
           SelectedItem="{Binding Path=FoodItem}"
           Width="175"/>

     <xctk:WatermarkTextBox x:Name="txtAmount" 
                            Width="45" 
                            Margin="5,0,0,0" 
                            Text="{Binding Path=Amount}" 
                            Watermark="{Binding Path=wAmount}" 
                            Foreground="Blue">
                 <xctk:WatermarkTextBox.Style>
                     <Style TargetType="xctk:WatermarkTextBox">
                        <Setter Property="IsEnabled" Value="False" />
                           <Style.Triggers>
                              <DataTrigger Binding="{Binding ElementName=cmbFood, Path=SelectedValue}"
                                                             Value="Whatever-SelectedItem-Changes-The-IsEnabled">
                                 <Setter Property="IsEnabled" Value="True" />
                              </DataTrigger>
                           </Style.Triggers>
                    </Style>
                </xctk:WatermarkTextBox.Style>
     </xctk:WatermarkTextBox>

希望这有帮助,干杯