将文本框绑定到组合框显示成员
本文关键字:显示 成员 组合 绑定 文本 | 更新日期: 2023-09-27 18:18:11
我有一个组合框,其中SelectedItem属性绑定到DataRowView, ItemSource绑定到DataView。
绑定是这样的:
<ComboBox Grid.Row="1" Grid.Column="1" KeyboardNavigation.TabIndex="0" Width="300"
ItemsSource="{Binding Path=MainConfigItems, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
SelectedValuePath="Id"
DisplayMemberPath="Name"
SelectedItem="{Binding MainConfigSelectedItem}"
Name="cmbBoxMainConfig"
VerticalAlignment="Center" HorizontalAlignment="Left" IsEnabled="{Binding IsEnabledMainConfig}">
</ComboBox>
现在,根据一个条件,我需要隐藏组合框并在其位置显示一个文本框,其中文本作为组合框的显示成员。在本例中,DataRowView的'Name'属性。
最好的方法是什么?
为你的组合和文本框添加一个数据触发器:
<ComboBox.Style>
<Style TargetType="ComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsEnabledMainConfig, UpdateSourceTrigger=PropertyChanged}" Value="false" >
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
<TextBox Text="{Binding MainConfigSelectedItem.Name}"/>
如果MainConfigSelectedItem是一个DataRowView,你需要在你的绑定(MainConfigSelectedItem[Name])中使用索引器。
我将使用样式触发器来改变可见性