【发布时间】:2015-02-06 05:59:31
【问题描述】:
我试图在运行时为 ListBox 的 ContentTemplateSelected 踢出 DataTemplate。数据类型和值在运行时是未知的。这是一个例子。当我这样称呼时:
var dataTemplate = (DataTemplate)XamlReader.Load(xaml.ToString());
在生成的 xaml 上:
<DataTemplate xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:DSI.MyProject.Converters;assembly=DSI.MyProject"
>
<DataTemplate.Resources>
<converters:StringValueToBoolConverter x:Key="stringValueToBoolConverter" />
</DataTemplate.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="128" />
</Grid.ColumnDefinitions>
<Border BorderThickness="1" BorderBrush="Black" Grid.Column="0" Background="{StaticResource PhoneContrastBackgroundBrush}" >
<CheckBox IsChecked="{Binding [CheckEd], Mode=TwoWay}" Padding="2" HorizontalAlignment="Left" />
</Border>
</Grid>
</DataTemplate>
我得到错误:
在类型 DataTemplate 中找不到可附加属性 Resources
我是否遗漏了包含中的某些内容?
即使此示例没有使用它,转换器也会在 IsChecked 绑定中使用。
这似乎对这个人有用: Dynamically added DataTemplate - StaticResource for Converter can't be found
我原来的问题:WPF using converter in datatemplate created from xaml text and XamlReader on phone 8
【问题讨论】:
标签: c# wpf windows-phone-8