我有一个 ComboBox
<ComboBox x:Name="SearchGendersComboBox" Grid.Row="3" Grid.Column="1"
IsEditable="True"
SelectedValuePath="Key"
DisplayMemberPath="Value"
SelectedValue="{Binding Path=GenderId}"
/>
我用这个填充它:
public void BindComboBoxes()
{
SearchGendersComboBox.ItemsSource = new BindingSource(GenderMgr.GetGendersDropDown(true), null);
SearchGendersComboBox.SelectedIndex = 0;
}
这是GenderMgr
:
public class GenderMgr
{
public static Dictionary<byte, string> GetGendersDropDown(bool isFilterMode = false)
{
return GenderDb.RetrieveGendersDropDown(isFilterMode);
}
}
如何填写ComboBox
我GenderMgr.GetGendersDropDown
的标记?
直接删除BindingSource
,ItemsSource
应为GenderMgr.GetGendersDropDown(true)
,即字典。其他一切看起来都很好。
至于转换为标记:在某些时候,您需要从某个地方获取对象,因此除了ObjectDataProvider
在XAML中使用调用各自的数据提供方法外,您无能为力。通常,您将具有一些属性可以将项目保存在视图模型中,ItemsSource
然后仍然可以在XAML中绑定它;只要视图模型支持更改通知,就可以在数据可用的任何时候分配该属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句