XAML样式标记 - 属性的属性

时间:2016-06-13 06:54:32

标签: c# wpf xaml

在我的ResourceDictionary.xaml我的一个视图模板中有一个<Style>。在内部,我已按以下方式设置工具提示:

<Setter Property="ToolTip">
        <Setter.Value>
            <templates:MyToolTipTemplate/>
        </Setter.Value>
    </Setter>

如何访问Tooltip的属性(我需要设置StaysOpen)?

1 个答案:

答案 0 :(得分:0)

这可能会为您提供实际需要的方向 假设templates:MyToolTipTemplate与View相关(例如它的控件):

<Setter Property="ToolTip">
    <Setter.Value>
        <ToolTip StaysOpen="{Binding SomeBoolProperty,ElementName=template}">
            <templates:MyToolTipTemplate x:Name="template"/>
        </ToolTip>
    </Setter.Value>
</Setter>

如果templates:MyToolTipTemplate是ViewModel实体,您可以在相应的DataTemplate中放置相关的绑定:

<DataTemplate DataType="{x:Type templates:MyToolTipTemplate}">
    <ToolTip>
        <SomeControl SomeProperty="{Binding StaysOpen,
             RelativeSource={RelativeSource AncestorType=ToolTip}, Mode=OneWayToSource}"/>
    </ToolTip>
</DataTemplate>