2016-07-20 20 views
1

Ich habe ein Problem beim Versuch, von Combobox zu Tooltip binden. Ich möchte SelectedValue an Tooltip binden und eine Zeichenfolge vor SelectedValue in Tooltip hinzufügen. EX: SelectedValue: ID_001. Tooltip = Ihre ID: ID_001. Meine XAML:Wie binde Combobox an Tooltip 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" /> 

Vielen Dank

+1

Mögliches Duplikat [Wie Quick-Info-Bindung mit einem ComboBox zur Arbeit kommen?] (Http://stackoverflow.com/questions/11259479/how-to-get-tooltip-binding-to-work-with -a-combobox) – ViVi

+0

Es ist keine Antwort Ich suche – cptJack44

+0

Verwenden Sie eine ItemsSource? Wenn ja, wenn es ein komplexes Objekt ist, sollten Sie wahrscheinlich SelectedValuePath angeben. Um einen String an den ausgewählten Wert des Combos anzuhängen und ihn an den Tooltip zu binden, können Sie einen Konverter verwenden. – CiccioRocca

Antwort

1

Wie in den Kommentaren vorgeschlagen, wäre die einfachste Lösung ein Konverter sein, den Text vorangestellt wird.

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

die Zeichenfolge in XAML zu bauen ist ein bisschen schwieriger. ElementName und RelativeSource funktionieren nicht mehr, sobald Sie in die <ComboBox.ToolTip> ... </ComboBox.ToolTip> gelangen. Sie müssten also den SelectedValue an Ihren DataContext binden, um später darauf zugreifen zu können.

<ComboBox 
    ItemsSource="{Binding Ids}" 
    SelectedValue="{Binding SelectedIdValue}" 
    ... 
    > 
    <ComboBox.ToolTip> 
     <ToolTip 
      Content="{Binding SelectedIdValue}" 
      ContentStringFormat="Your ID: {0}" 
      /> 
    </ComboBox.ToolTip> 
</ComboBox> 
Verwandte Themen