1

我的组合框:

 <pmControls:pmComboBox Grid.Row="3" Grid.Column="1" Margin="3"  
  SelectedItem="{Binding Applicable_For,Mode=Two Way}" DisplayMemberPath="Applicable_For"
     SelectedValuePath="Applicable_For">

  <pmControls:pmComboBoxItem Content="Parcel" ></pmControls:pmComboBoxItem>
  <pmControls:pmComboBoxItem Content="Property"></pmControls:pmComboBoxItem>

  </pmControls:pmComboBox>

已将 2 个静态项添加到组合框作为宗地和属性,并希望使用绑定获取这些值。

我已经对 SelectedItem 进行了绑定,并且我的绑定字段是 Applicable_For。

使用上面的代码在 Applicable_For 中将值设为 null。

编辑:我已经添加Mode=Two Way了我之前忘记的选定项目。

但它并没有像“PropMgmt.Controls.pmComboBoxItem”这样的命名空间获得价值

请帮忙..

4

1 回答 1

2

您可以为其创建一个集合,而不是将静态项目添加到组合框。例如。创建类,如:

public class KeyValuePair
{
    string key;

    public string Key
    {
        get { return key; }
        set { key = value; }
    }
    string value;

    public string Value
    {
        get { return this.value; }
        set { this.value = value; }
    }      

}

然后在您的视图模型中添加以下代码:

        ObservableCollection<KeyValuePair> applicable_For_KeyValues = new ObservableCollection<KeyValuePair>();

        KeyValuePair k1 = new KeyValuePair() { Key = "1", Value = "Parcel" };
        KeyValuePair k2 = new KeyValuePair() { Key = "2", Value = "Property" };

        applicable_For_KeyValues.Add(k1);
        applicable_For_KeyValues.Add(k2);

然后在 xaml 中添加以下内容:

<pmControls:pmComboBox Grid.Row="3" Grid.Column="1" Margin="3" 
 ItemsSource="{Binding Applicable_For_KeyValues}" 
 SelectedValue="{Binding Applicable_For,Mode=TwoWay}" SelectedValuePath="Value">
                <pmControls:pmComboBox.ItemTemplate >
                    <DataTemplate>
                        <TextBlock Text="{Binding Value}"></TextBlock>
                    </DataTemplate>
                </pmControls:pmComboBox.ItemTemplate>        

            </pmControls:pmComboBox>

希望这能解决您的问题。

于 2012-11-29T06:41:35.217 回答