WPF:将其内容绑定到标签的自定义控件

时间:2010-05-30 20:01:01

标签: wpf-controls

我想写一个像这样使用的自定义控件:

<HorizontalTick>Some string</HorizontalTick>

它应该像这样呈现:

- 一些字符串-------------------------------------------

这是我的代码:

<UserControl x:Class="WeatherDownloadDisplay.View.HorizontalTick"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" d:DesignWidth="348"
             Name="controlRoot">
    <DockPanel LastChildFill="True">
        <UserControl VerticalAlignment="Center" BorderBrush="Black" BorderThickness="1" Width="10"/>
        <Label Content="???" />
        <UserControl VerticalAlignment="Center" BorderBrush="Black" BorderThickness="1"/>
    </DockPanel>
</UserControl>

除标签绑定外,它有效。有人可以帮我填写问号吗?我想过使用ContentPresenter但看起来内联绑定似乎是最好的。

-Neal

1 个答案:

答案 0 :(得分:1)

绑定将是:

<Label Content="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=Content}" />

但是,重新考虑使用ContentPresenter能够直接显示任何内容,而不是添加一个标签,该标签将使用自己的ContentPresenter来显示它。

话虽这么说,你也可以用一个简单的ContentControl替换你的整个控件,其中ContentTemplate显示行和内部内容。