【问题标题】:Add extra items to a Silverlight 2 Combobox将额外项目添加到 Silverlight 2 组合框
【发布时间】:2008-10-17 11:13:13
【问题描述】:
对于 Silverlight 2 网络应用程序。我添加了一个组合框。我有一个 IEnumerable 作为 Itemsource 来填充组合框。工作正常。
但是我想在组合框中添加一个额外的项目(“请选择一个....”),任何人都知道如何使用 Silverlight 2 组合框来完成。
欢迎提供有关使用 ComboxboxItems 模板的更多信息。
【问题讨论】:
标签:
silverlight-2.0
silverlight-2-rc0
【解决方案1】:
您可以使用以下代码在 ComboBox 的 Items 集合中的所需索引位置轻松插入项目。
文本块 t = new TextBlock();
t.Text = "请选择....";
combo.Items.Insert(0, t);
设置选定的索引将设置 ComboBox 以默认显示您添加的项目:
combo.SelectedIndex = 0;
【解决方案2】:
如果您使用的是 WCF,则可以使用以下代码:
SilverlightApplication1.ServiceReference1.Region item =
new SilverlightApplication1.ServiceReference1.Region ();
item.RegionID = 0;
item.RegionDescription = "-Select Region-";
e.Result.Insert(0, item);
drControl.ItemsSource = e.Result; ////////.Result;
drControl.SelectedIndex = 0;
【解决方案3】:
从对 WCF 服务的异步调用返回 List<> 后,我使用以下语法将项目添加到结果中,然后再绑定到组合框。在我的场景中,如果您尝试在绑定后将项目添加到列表中,则会引发只读错误。
E.Result.Items.Insert(0, new object { param1 = "", Param2 = ""} );
【解决方案4】:
只需将其添加到 Xaml 页面并使其选择为 True....