У меня есть следующий код за классом,Как показать значение по умолчанию в combobox, используя привязку?
У меня есть cobobox в xaml. Я хочу связать его с этим классом. Код, приведенный ниже, дает combobox содержать 2 элемента «Произвольные» и «Настраиваемые»
Но когда я запускаю приложение, combobox пуст. Значение по умолчанию не выбрано. Как это сделать?
public class ReadData:INotifyPropertyChanged
{
private string typeData="Arbitrary";
private string[] typeDataList={"Arbitrary", "Configurable"};
private ICollectionView typeDataList;
public string[] TypeDataList
{
get
{
return typeDataList;
}
set
{
typeDataList=value;
NotifyProertyChanged("TypeDataList");
}
}
public string TypeData
{
get
{
return typeData;
}
set
{
typeData=value;
NotifyPropertyChanged("TypeData");
}
public ICollectionView TypeDataListView
{
get
{
typeDataListView=CollectionViewSource.GetDefaultView(typeDataList);
return typeDataListView;
}
set
{
typeDataListView=value;
//typeDataList= ???
}
}
XAML файл
<ComboBox ItemSource={Binding TypeDataListView}" IsSynchronizedWithCurrentItem="True" SelectedItem="{Binding typeData}" Height="23" Width="120"/>
Вы имеете в виду, что мне нужно преобразовать мою строку [] в ICollectionView? Без ICollectionView это невозможно сделать? Я использую .NET 4. У меня нет класса CollectionViewSource. – SHRI
.Net 4 имеет встроенный CollectionViewSource. Вы можете сохранить свою строку [], но вам нужно добавить свойство для привязки выделенного объекта ListBox. См. Мой первый пункт. –
Простите, да. .NET 4 имеет класс CollectionViewSource. Я обновил ваш пост. Но все же выбранный элемент по умолчанию не отображается. Я что-то упустил? – SHRI