2010-05-30 3 views
1

Я хочу, чтобы написать пользовательский элемент управления, который используется, как это:WPF: Пользовательский элемент управления, который связывает его содержимое с меткой

<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

Связывание будет:

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

Однако, пересмотреть с использованием ContentPresenter, чтобы быть в состоянии показать любой контент напрямую, а не добавлять метку, которая будет использовать свой собственный ContentPresenter, чтобы показать ,

Это, как говорится, вы также можете заменить все свое управление простым ContentControl с ContentTemplate, показывающим линии и внутренний контент.

Смежные вопросы