wpf调试错误输出System.WIndows.Data错误25

时间:2013-03-27 08:57:37

标签: wpf debugging combobox

我有一个定制风格的Combobox工作正常。它放在usercontrol中并绑定到数据结构。我使用DisplayMemberPath只显示Combobox TextBox中的一个元素。 ComboBox样式取自MSDN并多次使用。所以这里没有显示。

<UserControl x:Class="wpf.projext1.MyComboBox"
         x:Name="MyControl"
         ...
    <ComboBox Style="{StaticResource ComboBoxStyle}"
                  Text="{Binding ElementName=MyControl, Path=Text}"
                  IsEditable="True"
                  IsTextSearchEnabled="False"
                  StaysOpenOnEdit="True"
                  ItemsSource="{Binding ElementName=MyControl, Path=MyItemsSource}"
                  DisplayMemberPath="Name"
    </ComboBox

我在填充输出窗口时收到以下恼人的错误消息:

System.Windows.Data Error: 25 : Both 'ContentTemplate' and 'ContentTemplateSelector' are set;  'ContentTemplateSelector' will be ignored. ComboBoxItem:'ComboBoxItem' (Name='')

如果我遗漏了

DisplayMemberPath="Name"

...没有显示关于错误25的调试输出。但我绝对需要DiplayMemberPath =“名字”! 你有想法解决这个问题吗?

2 个答案:

答案 0 :(得分:12)

您无法同时设置DisplayMemberPathItemTemplate

DisplayMemberPath用于告诉ItemsControl在显示对象时要显示的属性。如果您已经传递了自定义ItemTemplate,则设置此字段没有任何意义,因为您可以选择如何来显示该ItemTemplate中的对象。

由于MSDN的默认Combobox样式也设置了ItemTemplate,这可能是导致错误的原因。

答案 1 :(得分:6)

已解决:使用TextSearch附加属性,无论是否启用了TextSearch!

TextSearch.TextPath="Name"