Я прочитал много статей, прежде чем задавать вопрос, но, наконец, я решил написать здесь, потому что не смог найти тот, который может поместиться в моем решении.Caliburn.micro DataGridComboBoxColumn не является обязательным
У меня есть следующие DataGrid
на Вид:
<DataGrid x:Name="UsersCollection" CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False" HorizontalAlignment="Center" VerticalAlignment="Top" Height="525" Width="510" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Canvas.Left="147" Canvas.Top="26" Margin="0">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Username, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/>
<DataGridTextColumn Binding="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/>
<DataGridComboBoxColumn x:Name="Languages" />
</DataGrid.Columns>
И это часть моей ViewModel:
private List<string> _languages;
[ImportingConstructor]
public UsersViewModel()
{
DisplayName = "Users";
_usersCollection = new TrulyObservableCollection<UserModel>();
foreach (UserModel user in GetAllUsers())
_usersCollection.Add(user);
_usersCollection.CollectionChanged += Users_CollectionChanged;
_usersCollection.ItemPropertyChanged += PropertyChangedHandler;
_languages = new List<string>();
_languages.Add("es");
_languages.Add("ca");
_languages.Add("en");
}
public List<string> Languages
{
get { return _languages; }
}
Мои UserModel обладают этим свойством:
public string Language
{
get { return _language; }
set
{
if (_language != value)
{
_language = value;
NotifyOfPropertyChange(() => Language);
}
}
}
Как это сделать, чтобы связать комбо DataGrid
(конечно, связанный с свойством Language UserModel)? Заранее спасибо!
Это несколько сбивает с толку, если я правильно вас понимаю, вы хотите привязать 'SelectedItem' к свойству' Language' и 'ItemsSource' к' Languages'. – UIlrvnd
Ок, извините, я постараюсь сделать это лучше: я привязываю коллекцию UserModels к DataGrid. Одним из свойств каждого UserModel является язык. Я хочу изменить ячейку столбца, где привязано свойство «Язык» со списком с разными значениями. После этого INPC выпустит изменение. –
Да, я отметил его после публикации, хотя он все еще не работает, спасибо! –