0
这是我的组合框:在WPF组合框中显示自定义的DisplayMember
WeeklyStartDate和WeekNumber我想要在DisplayMember属性中显示。但WPF说我不能使用DisplayMember,因为我已经使用了一个ItemTemplate ...
当我单击ComboBox中的某个项目时,如何使用下面的代码显示自定义DisplayMember?
目前它正在使用ToString()方法呈现DisplayMember,它显示XXX.ViewModel.WeeklyDateViewModel,它是命名空间+类型。
<ComboBox
Style="{StaticResource ComboBoxStyle1}"
AlternationCount="2"
FontSize="16"
VerticalContentAlignment="Center"
Width="150"
IsEditable="True"
SelectedItem="{Binding SelectedWeeklyDateViewModel,Mode=TwoWay}"
ItemContainerStyle="{StaticResource alternateColor}"
ItemsSource="{Binding WeeklyDatesList}">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VirtualizingStackPanel.VirtualizationMode="Recycling" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Width="100" Foreground="blue" Text="{Binding WeekStartDate,Mode=TwoWay, StringFormat='yyyy-MM-dd'}" />
<TextBlock Text=" " />
<TextBlock Width="100" Foreground="Red" Text="{Binding WeekNumber}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
确定,什么是“大约需要5分钟法”与最佳实践的字符串:P?快速工作,但我想要它格式化为与ItemTemplate相同的颜色。 – Elisabeth 2010-11-02 22:31:19
覆盖Combobox上的控制模板 – benPearce 2010-11-02 22:35:44
我想知道为什么你没有说覆盖组合框:P好希望更详细的答案:覆盖这个? => ---------啊......现在我知道为什么整个过程都不起作用我做了IsEditable =“true”,我没有覆盖EditableControlTemplate,而是正常一...检查=> http://img259.imageshack.us/img259/359/check.png :) –
Elisabeth
2010-11-02 22:58:33