1

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

4

4 回答 4

0

您不应该同时使用 SelectedValue 和 SelectedIndex,因为它经常会产生一种冲突。我建议您从 xaml 中删除 SelectedIndex="0" 并设置您从代码中绑定 SelectedValue 的属性。

例子:

MySelectedValue = MyItemsSource[0];
于 2010-09-07T14:37:02.430 回答
0

这更像是一个 MVVM 答案:

将 XAML 中的 SelectedIndex 属性绑定到 ViewModel 上的属性。

SelectedIndex="{Binding Path=SelectedIndex, Mode=TwoWay}"

在您的 ViewModel 中,将 SelectedIndex 值设置为 1,然后调用 PropertyChangeNotification 以便视图知道要更新(假设您的 ViewModel 实现了 INotifyPropertyChanged,并且大多数 VM 实现使用基类来执行此操作)。

SelectedIndex = 1;
NotifyPropertyChanged("SelectedIndex");
于 2010-09-10T14:19:43.437 回答
0

使用计数器。创建一个布尔变量并将其命名为 boolDefaultSet。它应该使用默认值 false 进行初始化。

大概您会使用循环来输出选择框的选项框...在该循环中编写一些逻辑来检查 boolDefaultSet 是否为真。如果不是,则打印带有“已选择”属性的选项框,然后将 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

于 2010-09-02T16:55:37.963 回答
0

如果从 XAML 设置 SelectedIndex 不起作用,我会尝试在 C# 代码加载事件中进行。

myName.SelectedIndex = 0;

于 2010-09-02T18:27:22.737 回答