WPF绑定文本框IsEnabled到Listbox SelectedItem

Sav*_*dis 3 wpf binding textbox listbox mvvm

使用MVVM样式我成功地ObservableCollection<string>将a 绑定到a ListBox,将值显示为RadioButtons.控件的行为完全符合预期.

现在我遇到一个TextBox与此相关的问题ListBox:我希望每当SelectedItemin ListBox等于特定值(例如ValueForEnabled)TextBoxes被启用时,否则应该禁用它们.

我知道我必须绑定到SeletedItemListBox(命名lbSource),但究竟是做?

我想要这样的东西(伪代码):

<TextBox  ...

    IsEnabled="{Binding ElementName=lbSource, Path=SelectedItem='ValueForEnabled',
                Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" 
                ...            
/>
Run Code Online (Sandbox Code Playgroud)

Sav*_*dis 6

好!解决了它(换句话说)我自己!对于任何想知道的人:

<TextBox 
...
usual property definitions
...
                      >
                <TextBox.Style>
                    <Style>
                        <Setter Property="TextBox.IsEnabled" Value="False"/>
                        <Style.Triggers>                              
                            <DataTrigger Binding="{Binding ElementName=lbSource , Path=SelectedItem}" Value="ValueForEnabled">
                                <Setter  Property="TextBox.IsEnabled" Value="true"/>
                            </DataTrigger>                           
                        </Style.Triggers>                       
                    </Style>                   
                </TextBox.Style>
            </TextBox>
Run Code Online (Sandbox Code Playgroud)