我在一个名为的用户控件中有以下内容UserInputOutput
:
<ComboBox Grid.Column="1" Background="White" Visibility="{Binding InputEnumVisibility}"
FontSize="{Binding FontSizeValue}" Width="Auto" Padding="10,0,5,0"
ItemsSource="{Binding EnumItems}"
SelectedIndex="{Binding EnumSelectedIndex}"/>
我在这里有几个绑定,除了 ItemsSource 之外,它们都很好用。这是我的依赖属性和公共变量。
public ObservableCollection<String> EnumItems
{
get { return (ObservableCollection<String>)GetValue(EnumItemsProperty); }
set { SetValue(EnumItemsProperty, value); }
}
public static readonly DependencyProperty EnumItemsProperty =
DependencyProperty.Register("EnumItems", typeof(ObservableCollection<string>),typeof(UserInputOutput)
除 ComboBox 的 ItemSource 外,所有绑定都在 XAML 中设置。这必须在运行时设置。在我的代码中,我使用以下内容:
ObservableCollection<string> enumItems = new ObservableCollection<string>();
UserInputOutput.getEnumItems(enumItems, enumSelectedIndex, ui.ID, ui.SubmodeID);
instanceOfUserInputOutput.EnumItems = enumItems;
我在从文件加载 XAML 后运行此代码。在我将其instaceOfUserInputOutput.EnumItems
设置为等于 enumItems 后,它包含正确的项目,但它没有显示在我的程序的组合框中。
不知道我要去哪里错了。有什么想法吗?
谢谢!