我正在做这个小程序只是为了学习如何将一些数据从对象列表绑定到组合框。我想要做的是在文本块中显示组合框中某些单词的翻译。在组合框中,我想要英文单词,例如在 textblock 西班牙文中。
为此,我在 xaml 中创建了一个名为cmbBox1的组合框和一个名为tb1的文本块。
然后我创建了“单词”类:
public class word
{
public string english { get; set; }
public string spanish { get; set; }
}
以及三个单词的列表:
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
// Creation of a list of objects of class "word"
List<word> mydictionary = new List<word>();
word word1 = new word();
word1.english = "Hello";
word1.spanish = "Hola";
word word2 = new word();
word2.english = "Goodbye";
word2.spanish = "Adios";
word word3 = new word();
word3.english = "How are you?";
word3.spanish = "¿Qué tal?";
mydictionary.Add(word1);
mydictionary.Add(word2);
mydictionary.Add(word3);
//Adding the objects of the list mydictionary to combobox <---
foreach (word myword in mydictionary)
{
cmbBox1.Items.Add(myword);
}
}
和 int XAML 我的组合框有这个:
<ComboBox x:Name="cmbBox1" HorizontalAlignment="Left" Margin="133,122,0,0" VerticalAlignment="Top" Width="120"
ItemsSource="{Binding Path=word}"
DisplayMemberPath="english"
SelectedValuePath="english"
SelectedValue="{Binding Path=word}" />
我想在组合框中显示属性“english”,并在文本块中显示属性“spanish”。如果当用户单击组合框中的单词时执行不同的方法,例如 MessageBox.Show("You selected the word" + word1.english),那就太好了。
这一切的目的是学习如何做一些更复杂的事情:我将加载一个带有一些数据通道的文本文件,每个通道都会有一堆属性,我希望能够选择通道然后绘制它. 非常感谢。