[英]How to Get Data-binding information of ComboBox.SelectionBoxItemProperty?
我試圖從ComboBox中檢索數據綁定信息。 我按照Code編寫了這個。
XAML:
<ComboBox Name="ddd" Margin="61,55,273,223" ItemsSource="{Binding myData, ElementName=window}" DisplayMemberPath="name" />
<TextBox Name="te" Height="30" TextChanged="TextBox_TextChanged" Margin="61,140,273,140" Text="{Binding SelectedItem.roll, ElementName=ddd}"/>
<Button Content="Button" Height="50" HorizontalAlignment="Left" Margin="268,120,0,0" Name="button1" VerticalAlignment="Top" Width="151" Click="button1_Click" />
C#代碼:
public partial class MainWindow : Window
{
public List<testData> myData { get; set; }
public MainWindow()
{
myData = new List<testData>();
InitializeComponent();
myData.Add(new testData { name = "a", roll = "1" });
myData.Add(new testData { name = "b", roll = "2" });
myData.Add(new testData { name = "c", roll = "3" });
this.DataContext = this;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
var Be = this.ddd.GetBindingExpression(ComboBox.SelectionBoxItemProperty);
var data = (testData)Be.DataItem;
MessageBox.Show(data.roll);
}
}
public class testData
{
public string name { get; set; }
public string roll { get; set; }
}
但它拋出“對象引用未設置為對象的實例”這一行異常
var data = (testData)Be.DataItem;
我哪里做錯了?
謝謝你的幫助。
您收到該錯誤,因為您正在獲取SelectionBoxItem
屬性的綁定,我沒有看到綁定在任何地方。 所以Be
是null
只需使用ddd.SelectedItem
獲取所選項,並將其轉換為testData
對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.