我有一个带有窗格的RadDocking
,每个窗格都拥有独特的DataContext自定义对象。 对于每个窗格,我想用工具提示展示标题。标题和工具提示都应该绑定到窗格的DataContext的某个属性。Telerik RadDocking在浮动窗口标题上显示工具提示
因此,我写的是这样的:
<UserControl.Resources>
<DataTemplate x:Key="DataTemplateTitleHeaderTooltip">
<TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerikDocking:RadPane}}, Path=Content.DataContext.TitleTootip}"
ToolTip="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type telerikDocking:RadPane}}, Path=Content.DataContext.TitleTootip}"
telerik:WindowHost.HitTestable="True" />
</DataTemplate>
</UserControl.Resources>
<telerikDocking:RadDocking>
<telerikDocking:RadDocking.DocumentHost>
<telerikDocking:RadSplitContainer>
<telerikDocking:RadPaneGroup>
<telerikDocking:RadPane HeaderTemplate="{StaticResource DataTemplateTitleHeaderTooltip}">
<Border x:Name="Target"
Background="HotPink" />
</telerikDocking:RadPane>
<telerikDocking:RadPane Header="Pane02">
<Border Background="Fuchsia" />
</telerikDocking:RadPane>
</telerikDocking:RadPaneGroup>
</telerikDocking:RadSplitContainer>
</telerikDocking:RadDocking.DocumentHost>
</telerikDocking:RadDocking>
当 “目标” 具有以下的DataContext:
public class MyModel : DependencyObject
{
#region TitleTootip
/// <summary>
/// Gets or sets the tool tip for our model
/// </summary>
public string TitleTootip
{
get { return (string) GetValue(TitleTootipProperty); }
set { SetValue(TitleTootipProperty, value); }
}
/// <summary>
/// Identifies the <see cref="TitleTootip"/> property.
/// </summary>
public static readonly DependencyProperty TitleTootipProperty =
DependencyProperty.Register("TitleTootip", typeof (string), typeof (MyModel), new UIPropertyMetadata(""));
#endregion
}
当窗格停靠到DocumentHost这工作得很好。但是,当我分离窗格时,标题和工具提示消失。
为了澄清,如果标题和工具提示不仅会出现在停靠状态,而且还会出现在窗口浮动状态时,这将非常好。
pure-xaml解决方案绝对是首选。
建议的解决方案工作正常:标题和标题均提供工具提示。 但是,当鼠标悬停在TextBlock上(并且窗格处于浮动状态)时,将'telerik:WindowHost.HitTestable ='True''设置为禁用拖放操作。 任何想法如何启用拖放和工具提示的演示文稿? – DonVito