2011-12-19 13 views
0

私は、DataRowViewにバインドされたSelectedItemプロパティとDataViewにItemSourceというコンボボックスを持っています。コンボボックスの表示メンバーにテキストボックスをバインドする

結合は、このようなものです:

<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'属性。

これを行うにはどうすればよいでしょうか?

答えて

0
<TextBox Text="{Binding MainConfigSelectedItem.Name}"/> 

MainConfigSelectedItemはあなたのバインディング(MainConfigSelectedItem [名])でインデクサーを使用する必要がDataRowViewである場合。

私は視認性を変更するためにスタイルトリガーを使用します。

<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> 
0

は、あなたのコンボやテキストボックスにdatatriggerを置きます
関連する問題