Первый элемент управления Я могу создать UserControl с DependencyProperty с именем UserNameLabel.Затем я могу просто установить для datacotext значение SourceSource в UserControl и заполнить свойство в разметке.
...
public String UserNameLabel
{
get { return (String)GetValue(UserNameLabelProperty); }
set { SetValue(UserNameLabelProperty, value); }
}
// Using a DependencyProperty as the backing store for UserNameLabel. This enables animation, styling, binding, etc...
public static readonly DependencyProperty UserNameLabelProperty =
DependencyProperty.Register("UserNameLabel", typeof(String), typeof(LoginControl), new PropertyMetadata());
<Grid x:Name="LayoutRoot">
<local:LabelTextBox Height="37" Margin="10,24,43,0" VerticalAlignment="Top" Label="{Binding UserNameLabel}"/>
</Grid>
...
Второй элемент управления Я также могу создать элемент управления LabelTextBox и установить для него собственный источник родственников с аналогичным свойством Label.
...
public String Label
{
get { return (String)GetValue(LabelProperty); }
set { SetValue(LabelProperty, value); }
}
// Using a DependencyProperty as the backing store for Label. This enables animation, styling, binding, etc...
public static readonly DependencyProperty LabelProperty =
DependencyProperty.Register("Label", typeof(String), typeof(LabelTextBox), new PropertyMetadata(String.Empty));
...
<Grid x:Name="LayoutRoot">
<TextBlock Height="17" VerticalAlignment="Top" TextWrapping="Wrap" Text="{Binding Label}"/>
Однако, если я хочу вложитьLabelTextBox в первом пользовательском контроле. Кажется, я не могу поставить привязку к свойству Label свойства LabelTextBox, которое привязывается к свойству UserNameText.
Кажется логичным способом создания элементов управления, в которых можно установить свойствородительский или дочерний элемент управления для установки свойства дочернего элемента управления.
Пожалуйста, помогите мне с этим.