我有一个ComboBox,它有一个声明的ComboBox.Items列表(换句话说,不是通过ItemsSource动态绑定).我使用ComboBoxItem.Content作为显示名称,使用ComboBoxItem.Tag作为相应的Id,如下所示.
如何获取所选项目的标签而不是内容?我试过了SelectedItemValuePath="Tag",但那不起作用.
<ComboBox Visibility="{Binding Path=ShowOutpatientFields, Converter=
{StaticResource
boolTovisConverter}}" Grid.Row="5" Grid.Column="2" Margin="0,2,0,2"
Text="{Binding Path=NewCase.ServiceType, ValidatesOnDataErrors=true,
NotifyOnValidationError=true}" SelectedValuePath="Tag">
<ComboBox.Items>
<ComboBoxItem Content="Hospice" Tag="33" />
<ComboBoxItem Content="Hospital Outpatient" Tag="36" />
<ComboBoxItem Content="Hospital Inpatient Extension" Tag="128" />
<ComboBoxItem Content="Maternity" Tag="52" />
</ComboBox.Items>
</ComboBox>
Run Code Online (Sandbox Code Playgroud) 我搜索并尝试了许多方法来格式化出生日期列不仅按月和日,而且还考虑到年.
我不敢相信这很难做到.
我创建了几个类型转换器,将字符串"MM/dd/yyyy"转换为DateTime,尝试转换为不带"/"字符的字符串,并转换为年份优先的字符串:"yyy/MM/dd" .最后一个实际工作,但我不能使用它,因为日期必须以"MM/dd/yyyy"格式显示.
我找不到在该列上轻松实现custon排序(ICoparable)的方法.
我还搜索了Stack Overflow和其他网站,我很惊讶我找不到答案.
非常感谢您的帮助!
这是我的一些代码:
<dg:DataGrid Grid.Row="10" Grid.ColumnSpan="3" ItemsSource="{Binding Path=Members}"
Visibility="{Binding Path=ShowMemberResults, Converter={StaticResource boolTovisConverter}}"
SelectionMode="Single" SelectionUnit="FullRow"
HorizontalAlignment="Left"
Name="MemberGrid" AutoGenerateColumns="False" IsReadOnly="True"
SelectedItem="{Binding Path=SelectedMemberItem}" MaxHeight="200">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Member ID" Binding="{Binding Path=MemberID}" Width="100"/>
<dg:DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName}" Width="100"/>
<dg:DataGridTextColumn Header="Middle" Binding="{Binding Path=MiddleInitial}" Width="50"/>
<dg:DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName}" Width="100"/>
<dg:DataGridTextColumn Header="Suffix" Binding="{Binding Path=Title}" Width="50"/>
<dg:DataGridTextColumn Header="DOB" Binding="{Binding Path=DOB, Converter={StaticResource dateConverter}}" Width="80"/>
<dg:DataGridTextColumn Header="Relationship" Binding="{Binding Path=Relationship}" Width="100"/>
<dg:DataGridTextColumn Header="Group Name" Binding="{Binding Path=GroupName}" Width="225"/>
<dg:DataGridTextColumn Header="Address " Binding="{Binding Path=Addr1}" Width="180"/> …Run Code Online (Sandbox Code Playgroud)