[英]WPF combobox value
我在xaml窗口上有三個組合框:
<Grid>
<ComboBox Name="cbo1" Margin="40,37,328,250" SelectionChanged="OnComboBoxChanged" />
<ComboBox Name="cbo2" Margin="40,145,328,142" SelectionChanged="OnComboBoxChanged"/>
<ComboBox Name="cbo3" Margin="40,91,328,196" SelectionChanged="OnComboBoxChanged" />
</Grid>
我將這些值分配給加載時的值,我正在編寫一個例程,該例程可以遍歷具有這些組合框名稱的數組並獲取所選值:
string[] comboNameLst = {"cbo1","cbo2" , "cbo3" };
foreach (string s in comboNameLst)
{
ComboBox cbo = new ComboBox();
cbo.Name = s;
MessageBox.Show("ID is" + id + "and cbo is" + cbo.Name);
MessageBox.Show("selected item" + cbo.SelectedItem );
}
我將值設為null。 我需要能夠獲得這些下拉菜單的選定值,我知道我可以使用邏輯樹幫助程序遍歷所有對象並獲取值,但是我不想那樣做,因為我有太多控件和這將非常棘手。
無需在循環中創建新的組合框,而是需要實際使用UI中的框:
ComboBox[] comboNameLst = {cbo1, cbo2, cbo3};
foreach (ComboBox cbo in comboNameLst)
{
MessageBox.Show("ID is" + id + "and cbo is" + cbo.Name);
MessageBox.Show("selected item" + cbo.SelectedItem );
}
我還想指出,您可以通過綁定完全避免這種類型的代碼。 您可以使用ItemsSource將屬性綁定到組合框,然后將屬性綁定到SelectedValue。
<ComboBox ItemsSource="{Binding ListProperty}"
DisplayMemberPath="ValueString"
SelectedValuePath="ValueString"
SelectedValue="{Binding SelectedValueProperty}" />
這將直接將當前選定的值提供給綁定屬性,以供您在代碼中使用,而無需費力地添加項目並通過后台代碼獲取其當前選定的值。
這是更詳細的文章。
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.