以编程方式在组合框中设置默认值

时间:2010-09-02 16:42:56

标签: c# wpf xaml radcombobox

我正在研究WPF。 我正在使用visual studio 2010,.NET 4.0并在我的应用程序中使用Radcombobox。 它正在填充正确填充3个字符串,现在我无法选择默认值。我想在开始加载组合框下拉列表中的3个字符串时选择第一个索引值作为默认值。我如何以编程方式执行此操作?这应该在xaml或C#中完成吗?

4 个答案:

答案 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");