我很难找到正确的语法来绑定到 ComboBox 的 SelectedItem 的属性。这是我尝试用于绑定的 XAML。您在哪里看到 SelectedItem.Mode 是我遇到困难的想法。请注意,CurrentMode 在 ViewModel 中,并且与 SelectedItem.Mode 具有相同的类型
<ComboBox SelectedItem.Mode="{Binding Path=CurrentMode, Mode=TwoWays}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding ImageSource}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
<local:ModeItem Mode="Free" ImageSource="pencil.png"/>
<local:ModeItem Mode="Arrow" ImageSource="arrow.png"/>
</ComboBox>
本地:ModeItem 看起来像这样
public class ModeItem : DependencyObject, INotifyPropertyChanged
{
public static readonly DependencyProperty ModeProperty = DependencyProperty.Register("Mode", typeof(AnnotationMode), typeof(ModeItem));
public AnnotationMode Mode
{
get { return (AnnotationMode)GetValue(ModeProperty); }
set { SetValue(ModeProperty, value); }
}
public string ImageSource { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
}
我正在使用 MVVM 并尝试将 ViewModel 的 AnnotationMode (CurrentMode) 绑定到 ComboBox 的 SelectedItem 的 AnnotationMode (Mode)