я определяю следующий стиль в XAML:DataBinding внутри ContentTemplate внутри стиля в Silverlight
<Style TargetType="telerik:RadDiagramShape" x:Key="styleShapeBase">
<Setter Property="Width" Value="120" />
<Setter Property="Height" Value="60" />
<Setter Property="IsResizingEnabled" Value="False" />
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock x:Name="lblName" Text="{Binding Name}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Затем в коде-за я назначая контекст данных. Я хочу нарисовать фигуру с некоторым текстом в ней, который исходит от объекта (если это в конечном итоге работает, я собираюсь разместить там дополнительную информацию). Я делаю это так:
var shape = new RadDiagramShape();
shape.Style = (Style)Resources["styleShapeBase"];
shape.DataContext = item.DataContext;
Где item
простой ПОКО, который имеет Name
свойство типа string
(эта часть работы, я проследил его, то есть DataContext правильно назначен).
Но привязка данных никогда не возникает. Это по дизайну (т. Е. Нет привязки данных внутри шаблона контента), если не так? Спасибо,
Попробуйте вместо этого использовать TemplateBinding. Вот пример: http://stackoverflow.com/questions/1877047/silverlight-templatebinding-a-rectangle – KodeKreachor
TemplateBinding работает только в теле шаблона управления, поэтому здесь не уместно. –