如何解决无法将 FlowDocumentScrollViewer 动态绑定到 FlowDocument
我创建了一个自定义控件(命名为 TextBlockHtml,它继承自标签),我添加了一个依赖属性(命名为 flowDocument[its transfer aassigned document])
<Style targettype="{x:Type local:TextBlockHtml}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate targettype="{x:Type local:TextBlockHtml}">
<Border>
<TextBlock HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Background="{TemplateBinding Background}" FontSize="{TemplateBinding FontSize}"
Foreground="{TemplateBinding Foreground}" Text="{Binding Path=Content,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type local:TextBlockHtml}}}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ToolTip">
<Setter.Value>
<ToolTip>
<ToolTip.Style>
<Style targettype="ToolTip">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<FlowDocumentScrollViewer x:Name="PART_FlowDocument" VerticalScrollBarVisibility="Hidden" Document="{Binding Path=flowDocument,AncestorType={x:Type local:TextBlockHtml}}}">
</FlowDocumentScrollViewer>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ToolTip.Style>
</ToolTip>
</Setter.Value>
</Setter>
</Style>
问题在于,当我在一个容器中放置多个自定义控件时,即使我指定了不同的 Documents,所有自定义控件的 Tooltip 都会与第一个显示工具提示的控件相同。
MainWindows.xaml
<local:TextBlockHtml Content="Table Demo" flowDocument="{StaticResource TestFlowDocumentFlex}" />
<local:TextBlockHtml Content="List Demo" flowDocument="{StaticResource TableResource}" />
<local:TextBlockHtml Content="Html Test 1" flowDocument="{StaticResource ReportStructure}" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。