在组合框中绑定简单的整数列表

本文关键字:整数 列表 简单 绑定 组合 | 更新日期: 2023-09-27 18:35:27

我使用以下 XAML 创建一个简单的月日值列表:

<ComboBox SelectedValue="{Binding DayOfMonth}" SelectedValuePath="/">
  <ComboBoxItem>
    <sys:Int32>1</sys:Int32>
  </ComboBoxItem>
  <ComboBoxItem>
    <sys:Int32>2</sys:Int32>
  </ComboBoxItem>
  ...
  ...
</ComboBox>

问题是,当基础 ViewModel 将一个分配给DayOfMonth属性(属性类型为 Int32)时,它不会在 ComboBox 中选择正确的项(实际上它不会选择任何项)。我也在没有<sys:Int32>的情况下尝试过它,即直接使用<ComboBoxItem>1</ComboBoxItem>语法,这也不起作用。

注意:我正在寻找仅限 XAML 的解决方案。

编辑

虽然它没有多大价值,但这是我将 ComboBox 绑定到的属性:

private int mDayOfMonth;
public int DayOfMonth 
{
    get { return mDayOfMonth; }
    set 
    {
        if (mDayOfMonth != value) 
        {
             mDayOfMonth = value;
             if (PropertyChanged != null) 
                PropertyChanged(this, new PropertyChangedEventArgs("DayOfMonth"));
        }
    }
}

在组合框中绑定简单的整数列表

不需要在 ComboBoxItems 中声明 interger 值。这样的事情应该有效:

<ComboBox SelectedValue="{Binding DayOfMonth}">
  <sys:Int32>1</sys:Int32>>
  <sys:Int32>2</sys:Int32>
  ...
</ComboBox>