2010-08-22 57 views
2

我创造了我的控制,看起来像如何设置提示用户控制(从样式文件)

<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"}/> 

因为在这一点上我的风格还没有在资源dicionary尚未。 我试图用这个语法

<UserControl.ToolTip> </UserControl.ToolTip> 

但我不konow应该怎么指的静态资源

也许是跛的问题,但我就是不konow怎么办呢:)

回答

1

一种选择是只使用DynamicResource替代StaticResource的推迟查找,直到运行时再使用属性语法:

<UserControl ... ToolTip="{DynamicResource tooltipname}" ... 

您可以阿尔斯o使用元素语法编写StaticResourceExtension,以便您可以在Resources部分之后编写它:

<UserControl.Resources> 
    <ResourceDictionary Source="Tooltip.xaml"/> 
</UserControl.Resources> 
<UserControl.ToolTip> 
    <StaticResourceExtension ResourceKey="tooltipname"/> 
</UserControl.ToolTip> 
+0

非常感谢:)此工程很棒 – germancoder 2010-08-22 13:16:57

相关问题