我写了一个附属物,其中包含一个帮助文本。 此帮助文本显示在主窗口的右侧。这很好。
现在,我想为每个控件添加一个工具提示。工具提示的内容应与helptext扩展名相同。
XAML代码:
<ListView ctrl:ListViewLayoutManager.Enabled="true"
x:Name="ListViewSources"
ItemsSource="{Binding SourceItems}"
ItemContainerStyle="{DynamicResource ListViewItemStyleAlternate}"
Height="150"
MinWidth="350"
Helper:HelpExtension.IsControl="true"
Helper:HelpExtension.HelpText="{x:Static strings:GUIResource.HelpProfilesSourcesDescriptionText}" >
<ListView.ToolTip>
<ToolTip Style="{DynamicResource Own_TooltipStyle}"></ToolTip>
</ListView.ToolTip>
现在的风格代码:
<Style x:Key="Own_TooltipStyle" TargetType="{x:Type ToolTip}">
<Setter Property="Background" Value="LightYellow"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToolTip}">
<Grid>
<TextBlock Text="{Binding Path=Helper:HelpExtension.HelpText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}}}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
如果我运行该程序,我会收到绑定错误:
System.Windows.Data错误:39: BindingExpression路径错误: 'Helper:HelpExtension'属性没有 找到'object'''ListView' (名称= 'ListViewSources')”。 BindingExpression:路径=助手:HelpExtension.HelpText; 的DataItem = '的ListView' (名称= 'ListViewSources');目标 element是'TextBlock'(Name =''); target属性是'Text'(类型 '字符串')
有没有人知道如何将TextBlock绑定到Helper的内容:HelpExternsion.HelpText?
答案 0 :(得分:0)
只需在附加的属性名称周围添加括号:
<TextBlock Text="{Binding Path=(Helper:HelpExtension.HelpText), RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListView}}}" />
答案 1 :(得分:0)