Я строю окно с набором строк, которые разделяют ту же раскладку, но их содержание должно быть различным, например:WPF- Связующие свойства в DataTemplate
| (Label Content:)"Name1" | (Textbox Text)"SomeText" |
| (Label Content:)"Name5" | (Textbox Text)"OtherText" |
я определил DataTemplate
, который в основном содержит Grid, определяющую размер каждого столбца, содержит все необходимые ему элементы (несколько меток, текстовые поля и т. д.) и устанавливает их общие свойства.
<UserControl.Resources>
<DataTemplate x:Key="AxisRangeEntry" x:Shared="False">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="50" />
....
</Grid.ColumnDefinitions>
<Label x:Name="MyLabel" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center">
...
<TextBox x:Name="MyTextbox" Grid.Column="2" Width="110" HorizontalContentAlignment="Right" />
...
</Grid>
</DataTemplate>
</UserControl.Resources>
Тогда в моем окне я начинаю добавлять шаблон данных, как ContentControls в панели стека:
<ContentControl ContentTemplate="{StaticResource AxisRangeEntry}" />
<ContentControl ContentTemplate="{StaticResource AxisRangeEntry}" />
....
Я изо всех сил, чтобы выяснить, как я могу определить некоторые свойства элементов управления внутри DataTemplate
к быть привязанным и привязывать к статическому значению/внешнему свойству, когда я начинаю определять ContentControl
. Эффективно каждый ContentControl
должен будет иметь возможность определять такие вещи, как MyLabel
и MyTextbox
текст.
Я уже создал CustomControls, на котором было DependencyProperties
, с которым я мог бы привязываться при добавлении их в другое окно. С DataTemplate
, однако я не уверен, как я буду определять эти поля как bindable и привязываться к ним при включении новой версии шаблона.
Любая помощь будет оценена по достоинству.