WPF:通过组合框工具提示显示我的所有对象属性

时间:2019-01-10 03:44:14

标签: wpf combobox

所以我有ComboBox与我的Person对象列表绑定,我想在我的组合框ToolTip上显示我的所有对象属性。

目前这是我尝试的:

<ComboBox                                              
          materialDesign:HintAssist.Hint="Network inteface"
          materialDesign:HintAssist.IsFloating="True"
          ItemsSource="{Binding Persons}"                                                  
          Style="{StaticResource MaterialDesignFloatingHintComboBox}">
          <ComboBox.ToolTip>
              <ToolTip>
                  <StackPanel Orientation="Vertical">
                      <TextBlock Text="{Binding Path=Description}"/>
                      <TextBlock Text="{Binding Path=Name}"/>
                      <TextBlock Text="{Binding Path=Id}"/>
                  </StackPanel>
              </ToolTip>
          </ComboBox.ToolTip>
      </ComboBox>

我所能看到的只是ToolTip的空白行

1 个答案:

答案 0 :(得分:1)

据我了解您的问题。你有些困惑。您想在单个项目的工具提示中显示所有信息,即comboboxItem,而不是comboBox。在您发布的代码中,您试图在组合框的工具提示中获取信息。 对于组合框项目,请通过以下代码

<ComboBox ItemsSource="{Binding Persons}" SelectedValuePath="Id">
        <ComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}">
                    <TextBlock.ToolTip>
                        <ToolTip>
                            <StackPanel Orientation="Vertical">
                                <TextBlock Text="{Binding Id}"/>
                                <TextBlock Text="{Binding Name}"/>
                                <TextBlock Text="{Binding Description}"/>
                            </StackPanel>
                        </ToolTip>
                    </TextBlock.ToolTip>
                </TextBlock>                    
            </DataTemplate>
        </ComboBox.ItemTemplate>
        <ComboBox.ItemContainerStyle>
            <Style TargetType="{x:Type ComboBoxItem}">
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
            </Style>
        </ComboBox.ItemContainerStyle>
    </ComboBox>

这是供参考的结果

enter image description here