我正在研究WPF。 我正在使用visual studio 2010,.NET 4.0并在我的应用程序中使用Radcombobox。 它正在填充正确填充3个字符串,现在我无法选择默认值。我想在开始加载组合框下拉列表中的3个字符串时选择第一个索引值作为默认值。我如何以编程方式执行此操作?这应该在xaml或C#中完成吗?
答案 0 :(得分:0)
使用计数器。创建一个布尔变量并将其命名为boolDefaultSet。它应该使用默认值false进行初始化。
大概你会使用一个循环来输出你的选择框的选项框...在那个循环中写一些逻辑来检查boolDefaultSet是否为真。如果没有,则打印带有“selected”属性的选项框,然后将boolDefaultSet设置为true。以下是一些可以在C#中实现的vb代码:
Dim boolDefaultSet as boolean
for i as integer = 0 to 2
if boolDefaultSet then
Response.Write("<option value="+myval+">"+myval+"</option>")
else
Response.Write("<option value="+myval+" selected>"+myval+"</option>")
boolDefaultSet=true
next i
答案 1 :(得分:0)
如果从XAML设置SelectedIndex不起作用,我会尝试在C#代码加载事件中执行此操作。
myName.SelectedIndex = 0;
答案 2 :(得分:0)
您不应同时使用SelectedValue AND SelectedIndex,因为它经常会产生一种冲突。 我建议你从xaml中删除SelectedIndex =“0”,并从代码中设置绑定SelectedValue的属性。
示例:
MySelectedValue = MyItemsSource[0];
答案 3 :(得分:0)
这更像是MVVM的答案:
将XAML中的SelectedIndex属性绑定到ViewModel上的属性。
SelectedIndex="{Binding Path=SelectedIndex, Mode=TwoWay}"
在ViewModel中,将SelectedIndex值设置为1,然后调用PropertyChangeNotification以使视图知道更新(这假设您的ViewModel实现了INotifyPropertyChanged,并且大多数VM实现使用基类来执行此操作)。
SelectedIndex = 1;
NotifyPropertyChanged("SelectedIndex");