2016-07-20 210 views
1

コンボボックスからツールチップにバインドしようとすると問題が発生します。 SelectedValueをツールヒントにバインドし、ツールヒントでSelectedValueの前に文字列を追加したい。 EX:SelectedValue:ID_001。ツールチップ=あなたのID:ID_001。 私のXAML:コメントで示唆したようにコンボボックスをツールチップwpfにバインドする方法

<ComboBox ToolTip="{Binding ElementName=cbb_ma_kh, Path=SelectedValue}" 
      Height="32" 
      Margin="115,39,24,0" 
      Name="cbb_ma_kh" 
      VerticalAlignment="Top" 
      Grid.ColumnSpan="2" /> 

本当にありがとうございました

+1

可能な重複[ツールヒントは、コンボボックスで動作するように結合取得する方法?](http://stackoverflow.com/questions/11259479/how-to-get-tooltip-binding-to-work-with -a-combobox) – ViVi

+0

これは私が探している答えではありません – cptJack44

+0

ItemsSourceを使用していますか?複雑なオブジェクトの場合は、SelectedValuePathを指定する必要があります。コンボの選択した値に文字列を添付してツールチップにバインドするには、コンバーターを使用します。 – CiccioRocca

答えて

1

、最も簡単な解決策は、テキストを付加するためのコンバーターだろう。

<ComboBox 
    ItemsSource="{Binding Ids}" 
    ToolTip="{Binding SelectedValue, 
         RelativeSource={RelativeSource Self}, 
         Converter={StaticResource StringConverter}}"   
    ... 
    > 

XAMLの文字列を作成するのはやや難解です。 <ComboBox.ToolTip> ... </ComboBox.ToolTip>の中に入ったら、ElementNameとRelativeSourceは機能しなくなりました。したがって、後でそれにアクセスするには、SelectedValueをDataContextにバインドする必要があります。

<ComboBox 
    ItemsSource="{Binding Ids}" 
    SelectedValue="{Binding SelectedIdValue}" 
    ... 
    > 
    <ComboBox.ToolTip> 
     <ToolTip 
      Content="{Binding SelectedIdValue}" 
      ContentStringFormat="Your ID: {0}" 
      /> 
    </ComboBox.ToolTip> 
</ComboBox> 
関連する問題