这是我现有的“Xaml字符串”模板,存储在资源文件中。
<telerik:GridViewDataColumn
DataMemberBinding="{Binding <<PropertyName>>}"
IsReadOnlyBinding="{Binding Is<<PropertyName>>ReadOnly}">
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<StackPanel >
<!--some more markup with similar bindings here-->
</StackPanel >
</DataTemplate>
</telerik:GridViewDataColumn.CellEditTemplate>
</telerik:GridViewDataColumn>
在后面的代码中,我使用XamlReader为列创建标记,然后将其添加到Grid。
var xamlTemplate = Properties.Resources.GridColumnTemplate.Replace( "<<PropertyName>>", "MyProperty");
var col = ( GridViewDataColumn )XamlReader.Load( xamlTemplate );
detailsGrid.Columns.Add( col );
现在,我需要用可编译的Xaml / Control替换它。 有办法吗?
我想过广泛使用转换器并绑定到MyProperty的Context,但这听起来不是一个好的解决方案。