【问题标题】:Why is my ComboBox ToolTip not in synch with the ComboBoxItem ToolTip all the time?为什么我的 ComboBox ToolTip 始终与 ComboBoxItem ToolTip 不同步?
【发布时间】:2016-07-07 15:31:00
【问题描述】:

我正在尝试在更新 ComboItems 的同时更新 Combo ToolTip。

<ComboBox x:Name="comboMeetingWeek" ItemsSource="{Binding Meetings}"
          SelectedItem="{Binding Meeting, UpdateSourceTrigger=PropertyChanged}">
    <ComboBox.ToolTip>
        <ToolTip DataContext="{Binding Path=PlacementTarget, RelativeSource={RelativeSource Self}}"
                 Content="{Binding Path=SelectedItem.ToolTipForSpecialEvent}">
        </ToolTip>
    </ComboBox.ToolTip>
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" ToolTip="{Binding ToolTipForSpecialEvent}">
                <Image Source="Images/Bell.png" Margin="0,0,5,0"
                       Visibility="{Binding DisplayBellImage, Converter={StaticResource BoolToHiddenConverter}}" Stretch="None"/>
                <TextBlock Text="{Binding DateMeetingAsText}" />
            </StackPanel>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

ComboBoxItems 总是是正确的。但是 ComboBox ToolTip 不会。

【问题讨论】:

  • 我认为这是因为仅将鼠标悬停在一个项目上并不会将其设置为已选择,因此当您绑定到 SelectedItem.ToolTip 时,它会向您显示 SelectedItem,而不是 OnHover 项目。
  • @Rachel 谢谢。我设法根据我的回答对其进行了排序。

标签: c# wpf xaml combobox


【解决方案1】:

好的,我找到了解决方案。我必须这样做:

<ComboBox x:Name="comboMeetingWeek" ItemsSource="{Binding Meetings}"
          SelectedItem="{Binding Meeting, UpdateSourceTrigger=PropertyChanged}"
          ToolTip="{Binding Meeting.ToolTipForSpecialEvent}">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" ToolTip="{Binding ToolTipForSpecialEvent}">
                <Image Source="Images/Bell.png" Margin="0,0,5,0"
                       Visibility="{Binding DisplayBellImage, Converter={StaticResource BoolToHiddenConverter}}" Stretch="None"/>
                <TextBlock Text="{Binding DateMeetingAsText}" />
            </StackPanel>
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

更少的代码......甚至更好.. :) 但现在总是工作正常。

这个link 帮助了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多