Я создаю UserControl
Я хочу использовать что-то вроде этого:
<controls:ColorWithText Color="Red" Text="Red color" />
Пока что я ' Мы реализовали аналогичные элементы управления, например:
<UserControl x:Class="Namespace.ColorWithText" Name="ThisControl">
<StackPanel Orientation="Horizontal" >
<Border Width="15" Height="15" Background="{Binding Color, ElementName=ThisControl}" />
<TextBlock Text="{Binding Text, ElementName=ThisControl}" />
</StackPanel>
</UserControl>
, где Цвет
и Текст
- это свойства зависимости элемента управления, определенные в коде. Это работает, но каждый раз указывать ElementName
кажется ненужным.
Другой вариант, который работает, - использовать
<UserControl x:Class=… DataContext="{Binding ElementName=ThisControl}" Name="ThisControl">
и не указывать ElementName
s, но это не похоже на чистый решение для меня тоже.
У меня два вопроса:
?