[英]Binding a SelectedItem in WPF Combobox to property
我正在嘗試將一個屬性綁定到 WPF 中的組合框,這樣當我選擇組合框的其中一項時,我的組合框的 SelectedValue 將存儲到一個名為 eventNumber 的屬性中,它只是一個數字。 我不確定為什么它不起作用。 目前我正在導入帶有事件的 SQL 表的值,有兩個字段,Name 和 eventNumber。 我使用 Rest Sharp 調用此表,如后面的代碼所示,並將 json 反序列化為列表,然后使用 foreach 循環將其元素傳遞給 System.Collections.ObjectModel.ObservableCollection 以進行綁定。 這工作正常,我的 ComboBox 在選擇時顯示事件的名稱。 但是,我想將我的組合框的 SelectedItem 綁定到集合的 eventNumber,但我不太確定如何綁定。
XAML 代碼:
<Grid>
<StackPanel>
<ComboBox x:Name="ComboEvents" IsEditable="False" Height="20" Width="500" Margin="30,0,0,0" ItemsSource="{Binding listEvents}" SelectedItem="eventNumber" DisplayMemberPath="Name"/>
</StackPanel>
</Grid>
C#代碼:
public partial class MainWindow : Window
{
public System.Collections.ObjectModel.ObservableCollection<Events> listEvents { get; }
public MainWindow()
{
InitializeComponent();
//calls the names of the events
var client1 = new RestClient("http://ip+port");
var request1 = new RestRequest("myMethod that gets all the events from a sql table", Method.Get);
var Response1 = client1.Execute(request1);
if (Response1.StatusCode == System.Net.HttpStatusCode.OK)
{
var listEvents = JsonConvert.DeserializeObject<List<Events>>(Response1.Content);
listEvents = new System.Collections.ObjectModel.ObservableCollection<Event>();
foreach (Event event in listEvents)
{
listEvents.Add(new Events { Name = event.Name, eventNumber= event.eventNumber}); //adds each event to listEvents collection
}
}
DataContext = this;
}
public class Event
{
public string eventNumber{ get; set; }
public string Name { get; set; }
}
如果要將SelectedItem
綁定到eventNumber
屬性,
你應該做SelectedItem="{Binding eventNumber}"
當然,在將屬性eventNumber
放入窗口的 DataContext 之后
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.