我创建了我的控件,看起来像
<UserControl BorderBrush="#A9C2DE" HorizontalAlignment="Left" x:Class="WPFDiagramDesignerControl.Components.UcWBSBlock"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="86" Width="151" >
<UserControl.Resources>
<ResourceDictionary Source="Tooltip.xaml"/>
</UserControl.Resources>
<Grid x:Name="MainGrid">
<TextBox Name="txtBox" Style="{StaticResource DefaultStyle}" >
</TextBox>
</Grid>
我还有一个工具提示样式的文件“Tooltip.xaml” 如何将此样式用于整个UserControl? 通常我用这个代码做了这个
<TextBox ToolTip="{StaticResource tooltipname}"/>
但是这很简单,因为带有样式的文件在放置文本框的控制的资源字典中。但是我不能那样做
<UserControl BorderBrush="#A9C2DE" HorizontalAlignment="Left" ToolTip="{StaticResource tooltipname"}/>
因为在这一点上我的风格还不是资源专家。 我试图使用这种语法
<UserControl.ToolTip> </UserControl.ToolTip>
但我不知道如何引用静态资源
也许这是一个蹩脚的问题,但我只是不知道怎么做:)
答案 0 :(得分:1)
一种选择是使用DynamicResource而不是StaticResource将查找推迟到运行时,然后使用属性语法:
<UserControl ... ToolTip="{DynamicResource tooltipname}" ...
您还可以使用元素语法编写StaticResourceExtension,以便您可以在参考资料部分之后编写它:
<UserControl.Resources>
<ResourceDictionary Source="Tooltip.xaml"/>
</UserControl.Resources>
<UserControl.ToolTip>
<StaticResourceExtension ResourceKey="tooltipname"/>
</UserControl.ToolTip>