or
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Person { public string Name { get; set; } public int? GenderId { get; set; } public bool IsActive { get; set; } }
<telerik1:RadGridView x:Name="Grid" ItemsSource="{Binding Persons}" IsSynchronizedWithCurrentItem="True" AutoGenerateColumns="False" ShowGroupPanel="False" ShowInsertRow="True" CanUserInsertRows="true"> <telerik1:RadGridView.Columns> <telerik1:GridViewDataColumn Header="Name" DataMemberBinding="{Binding Name}" Width="*" /> <telerik1:GridViewComboBoxColumn Name="Gender" Header="Gender" DataMemberBinding="{Binding GenderId}" DisplayMemberPath="Name" SelectedValueMemberPath="Id" ItemsSourceBinding="{Binding Genders}" EditTriggers="CellClick" IsReadOnly="False" Width="80" /> <telerik1:GridViewCheckBoxColumn DataMemberBinding="{Binding IsActive}" Header="Active" IsReadOnly="False" /> </telerik1:RadGridView.Columns> </telerik1:RadGridView>
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = this; Genders = new ObservableCollection<Gender> { new Gender {Id = 0, Name = "Female"}, new Gender {Id = 1, Name = "Male"}, new Gender {Id = 2, Name = "Withheld"} }; Persons = new ObservableCollection<Person> { new Person {Name = "Andy", GenderId = 1, IsActive = false}, new Person {Name = "Mary", GenderId = 0, IsActive = true}, new Person {Name = "Peta", GenderId = 2, IsActive = true}, new Person {Name = "Gerald", GenderId = 0, IsActive = true} }; } public ObservableCollection<Gender> Genders { get; set; } public ObservableCollection<Person> Persons { get; set; } } So, I'm convinced I'm setting properties wrong on the GridViewComboBoxColumn or setting the wrong properties. What is wrong with the above scenario?
private ITileItemModel _currentItem; public ITileItemModel CurrentItem { get { return _currentItem; } set { if (_currentItem == value) return; if (func()) return; _currentItem = value; RaisePropertyChanged(() => CurrentItem); } }<telerik:RadBreadcrumb x:Name="NavigationBreadcrumb" HorizontalAlignment="Stretch" VerticalAlignment="Top" TextModePath="TilePath" IsTextModeEnabled="False" HeaderMemberPath="Header" HierarchicalItemsSource="Children" HierarchicalMemberPath="Header" IsHistoryEnabled="False" Header="{Binding Root}" ItemsSource="{Binding Root.Children}" CurrentItem="{Binding CurrentItem, Mode=TwoWay}" > </telerik:RadBreadcrumb><telerik:RadWindow.HeaderTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <Button x:Name="btn" Content="button" Command="{Binding Path=SaveCommand}" /> </StackPanel> </DataTemplate> </telerik:RadWindow.HeaderTemplate>private DelegateCommand _saveCommand; public ICommand SaveCommand { get { if(_saveCommand == null) _saveCommand = new DelegateCommand(param => SaveIndicator(), param => CanSaveIndicator()); return _saveCommand; } } public void SaveIndicator() { } protected bool CanSaveIndicator() { if (eAppState == AppState.Fresh) return false; return true; }InterpolatedIndicators.AddEditIndicators view = new InterpolatedIndicators.AddEditIndicators(); view.DataContext = new InterpolatedIndicators.AddEditIndicatorsViewModel(); view.Owner = this; view.ShowDialog();<Button x:Name="btn" Content="button" Command="{Binding Path=DataContext.SaveCommand, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}" /><telerik:RadMaskedCurrencyInput Value="12345" Placeholder=" " IsCurrencySymbolVisible="False">