ContentControl包装问题 - c#

我正在尝试创建自定义工具提示控件。此控件继承自ToolTip类。我的自定义工具提示将具有标题和内容区域。内容可以是普通文本或任何其他内容(图像,richtextbox等)。以下是自定义工具提示控件的模板样式。

    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type customControls:FlyoutHelp}">
                <Border BorderThickness="0" Margin="15" Width="300">
                    <Border.Effect>
                        <DropShadowEffect Opacity="0.7"  />
                    </Border.Effect>
                    <StackPanel  TextBlock.FontFamily="Trebuchet MS" TextBlock.FontSize='12'>
                        <TextBlock Background="{StaticResource DellBlue}" Height="23" Foreground="#FFFFFF" Padding="0,4,0,0"  TextAlignment="Center" Text="{Binding HeaderText, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
                        <Border Background="{StaticResource DellLightGrey}" TextBlock.Foreground="{StaticResource DarkestGrey}" Padding="8">
                            <ContentControl   Content="{Binding HelpContent, RelativeSource={RelativeSource Mode=TemplatedParent}}"   />
                        </Border>
                    </StackPanel>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>

现在,您可以在我的模板中看到,我正在使用ContentControl来显示工具提示的内容。问题是当我的HelpContent只是纯字符串时,它不会包装该文本。我不能用TextBlock替换ContentControl,因为HelpContent也可以是其他类型(图像,richtextbox等)。谁能提供给我解决此问题的最佳方法是什么?我将非常感谢。

参考方案

ContentControl标记替换为:

<ContentPresenter Content="{TemplateBinding HelpContent}">
    <ContentPresenter.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </ContentPresenter.Resources>
</ContentPresenter>

[注意:您可以将其保留为ContentControl,但ContentPresenter较轻且遵循约定]

WPF AvalonDock添加文档 - c#

我有一个带有AvalonDock的窗口。在启动时,将打开一个文档,其中充满LocControllers用户控件(LocControllersViewModel)。现在,当双击LocController时,我想让LocController用户控件在新文档中打开。因此,第一个文档始终是概述,充满了LocController用户控件,而其他文档则在双击后添加。我已…

jQuery不起作用 - php

我正在使用带有ajax的jquery。有时,给出错误$未定义。这是我的代码:<script language="javascript" type="text/javascript"> var base_path="<? echo $this->baseUrl().'/…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

故障排除“警告:session_start():无法发送会话高速缓存限制器-标头已发送” - php

我收到警告:session_start()[function.session-start]:无法发送会话缓存限制器-标头已发送(错误输出开始如果我将表单数据提交到其他文件进行处理,则可以正常工作。但是,如果我将表单数据提交到同一页面,则会出现此错误。请建议<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0…

无法解析Json响应 - php

我正在尝试解析一个包含产品类别的JSON文件,然后解析这些类别中的产品,并在div中显示它们。我的问题:虽然我可以获取类别,但我不知道如何索取产品(并将它们显示在类别下)。我的剧本:<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> …