如何从枚举生成的列表中绑定TextBlock工具提示?

时间:2018-10-10 12:45:46

标签: c# wpf xaml mvvm

我正在尝试做一些我发现在MVVM / WPF中有些复杂的事情。我有一个ComboBox要将ItemsSource绑定到列表。该列表包含5个字符串元素,如下所示:

 "Dog"
 "Cat"
 "Lizard"
 "Fish"
 "Hamster"

我希望工具提示在此处使用此列表:

 "Golden Retriever"
 "Bombay"
 "Spotted"
 "Goldfish"
 "Wide-Toothed"

因此,当我将鼠标悬停在Dog上时,工具提示为“金毛寻回犬” ,依此类推。问题是,我似乎无法绑定以找出绑定。

<ComboBox Name="PetCB" ItemsSource="{Binding Pet.PetList}" 
          SelectedItem="{Binding Pet.SelectedPet}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" 
                       Width="{Binding ElementName=PetCB, Path=ActualWidth}" 
                       ToolTip="{Binding}"/>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

现在,我只是将ToolTip再次绑定到列表。

“我的宠物详细信息列表”是

List<string> PetDetails = new List<string>();

我认为主要问题是生成的列表来自Enum,而不是实际的类。如果它是一个Class,我可以只具有两个属性并绑定到这些属性,但是这里不是这种情况。不幸的是,我目前无法更改结构。如果可以的话,这将是一个简单的问题。

0 个答案:

没有答案