Mam combobox, która jest wiążąca dla ObservableCollection
ciągów w obiekcie. To powiązanie działa, ale chcę również powiązać wszystko, co użytkownik wybierze z tego combobox, w innej właściwości, która jest ciągiem znaków, w tym samym Object. Nie mogę się dowiedzieć, czy powinienem używać SelectedValue
lub SelectedItem
, czy też istnieje problem wykraczający poza to. Z góry dziękuję.ComboBox Wybrano wartość lub wybraną opcję Wiązanie WPF C#
Oto co mam tak daleko, że pominięto żadnego kodu nieistotnych problemu:
w 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>
Kod tyle:
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;
}
}
Może to odpowiedzieć na Twoje pytanie ... http://stackoverflow.com/questions/2883481/combobox-selecteditem-vs-selectedvalue –