I have a public property on one of my classes that is configurable by a PropertyGrid. It is a string property, but I want the user to be able to set it from a RadComboBox with values provided from an OpenAccess data model. I can't seem to put all the pieces together. The closest I got puts an odd value in the public property ("Telerik.Windows.Controls.RadComboBoxItem: City, State"). I've been banging my head against this for days and I'm tantalizingly close, but I'm just not seeing something.
How do I connect all the bits? The choices to the data source and the selected item to the public property? Here's my code without all my failed efforts taking up space.
Here's the property:
Here's the RadComboBox in the DataTemplate:
And here's the code-behind to (hopefully) populate the control:
How do I connect all the bits? The choices to the data source and the selected item to the public property? Here's my code without all my failed efforts taking up space.
Here's the property:
private string weatherloc;[Category("MissionBoard")][Description("Weather station location")]public string WeatherLoc{ get { return weatherloc; } private set { weatherloc = value; }}Here's the RadComboBox in the DataTemplate:
<Grid.Resources> <c:FieldTemplateSelector x:Key="DataTemplateSelector"> <c:FieldTemplateSelector.WeatherDataTemplate> <DataTemplate> <telerik:RadComboBox x:Name="WeatherComboBox" Loaded="WeatherComboBox_Loaded" /> </DataTemplate> </c:FieldTemplateSelector.WeatherDataTemplate> </c:FieldTemplateSelector></Grid.Resources>And here's the code-behind to (hopefully) populate the control:
private void WeatherComboBox_Loaded(object sender, RoutedEventArgs e){ using (EntitiesModel dbContext = new EntitiesModel()) { try { var q = (from i in dbContext.WeatherFeeds orderby i.Location select new { i.Location }).ToList(); // How to bind all the bits? The public property to the SelectedItem
// and the choices to the data source.
} catch (SqlException sx) { Console.WriteLine(sx.ToString()); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }}