2016-07-20 70 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

的可能的複製[如何獲得工具提示結合地使用ComboBox合作?](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>