我有一个组合框,其中包含类别对象。
<ComboBox Name="cbxCategory" Grid.Row="0" Grid.Column="1" FontSize="14" SelectedValue="{Binding Category, Mode=TwoWay}" Style="{StaticResource RegularControlStyles}">
<ComboBox.ItemTemplate>
<DataTemplate>
<ComboBoxItem Content="{Binding CategoryName}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我有 DataContext 这是:
public class EventFilter
{
public int CategoryId { get; set; }
public int SubCategoryId { get; set; }
public DateTime StartDate { get; set; }
public int? Duration { get; set; }
public string Address { get; set; }
}
除了两个组合框(类别和子类别)之外,所有字段都绑定得很好。
问题是组合框包含一个 Category 对象,而 EventFilter 包含它的 id。我可以做的一种解决方案就是更改属性:
public int CategoryId { get; set; }
至:
public int Category { get; set; }
但我不想那样做,我想持有身份证。那么我该怎么做呢?
我应该使用转换器吗?如果我将组合框的绑定更改为:
SelectedValue="{Binding CategoryId, Mode=TwoWay}"
它不能很好地工作,因为它包含类别。
有人能帮我吗?
非常感谢。