【问题标题】:ComboBox SelectedValue or SelectedItem Binding WPF C#ComboBox SelectedValue 或 SelectedItem 绑定 WPF C#
【发布时间】:2012-06-23 19:09:51
【问题描述】:

我有一个组合框,它绑定到对象中的字符串ObservableCollection。此绑定有效,但我还想将用户从此组合框中选择的任何内容绑定到同一个对象中的另一个字符串属性中。我不知道我应该使用SelectedValue 还是SelectedItem,或者是否还有其他问题。先感谢您。

这是我到目前为止的内容,我省略了任何与问题无关的代码:

在 XAML 中:

<Grid.Resources>
    <my:JobItem x:Key="jobItemViewSource" />
</Grid.Resources>

<ComboBox x:Name="businessUnitBox" ItemsSource="{Binding Path=BusinessUnits}" IsSynchronizedWithCurrentItem="True">
    <ComboBox.SelectedValue>
        <Binding Path="BusinessUnit" Mode="TwoWay" UpdateSourceTrigger="Explicit" />
    </ComboBox.SelectedValue>
</ComboBox>

背后的代码:

public string BusinessUnit
{
    get{  return businessUnit; }
    set
    {
        if (String.IsNullOrEmpty(BusinessUnit) || !BusinessUnit.Equals(value))
        {
            businessUnit = value;
            OnPropertyChanged("BusinessUnit");
        }
    }

}

public ObservableCollection<string> BusinessUnits
{
    get { return businessUnits; }
    set
    {
        if(!BusinessUnits.Equals(value))
        {
            businessUnits = value;
            OnPropertyChanged("BusinessUnits");
        }

        businessUnits = value;
    }
}

【问题讨论】:

标签: c# wpf data-binding combobox


【解决方案1】:

您可能想使用SelectedItem。这将给出绑定到它的实际项目。 SelectedValueSelectedValuePath 属性确定...在这种情况下这是不必要的。 此外,您可能不想将UpdateSourceTrigger 设置为Explicit。在这方面默认应该没问题。

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2014-05-26
    • 2011-11-01
    • 2015-06-28
    • 2010-10-24
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 2017-04-30
    相关资源
    最近更新 更多