[英]Cannot do selectedIndexChanged in combobox c#(and xaml)
我試圖讓用戶從數據庫中選擇要顯示的表,並且我聽說這樣做的最好方法是使用“ selectedIndexChanged”事件,以便當用戶單擊所需表時,它立即顯示該表。 但是,由於某些原因,當我單擊我的comboBox並發生事件時,我沒有看到“ selectedIndexChanged”作為選項,而在手動編寫時說:“成員“ SelectedIndexChanged”未被識別或無法訪問”,這是我的xaml代碼:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Canvas Name="mycanvas" Background="LightBlue" Margin="0,0,34.4,-0.2">
<DataGrid Name="g1">
</DataGrid>
<Label Name="l1" Content="" FontWeight="ExtraBold" FontSize="15" Foreground="{x:Null}" Canvas.Left="20"/>
</Canvas>
<Canvas Grid.Column="1">
<Label Name="Instruction" Content="Choose a table" FontWeight="ExtraBold" FontSize="15" Canvas.Left="-23" Canvas.Top="62"/>
<ComboBox SelectedIndexChanged="b1" Name="ComboBox1" FontWeight="Bold" FontSize="15" Canvas.Top="98" Width="135" Height="24" Canvas.Left="-31">
<ComboBoxItem Foreground="#FF3FA4C5" Name="classesTbl">classesTbl</ComboBoxItem>
<ComboBoxItem Foreground="#FF3FA4C5" Name="gradesTbl">gradesTbl</ComboBoxItem>
<ComboBoxItem Foreground="#FF3FA4C5" Name="studentsTbl">studentsTbl</ComboBoxItem>
<ComboBoxItem Foreground="#FF3FA4C5" Name="subjectsTbl">subjectsTbl</ComboBoxItem>
<ComboBoxItem Foreground="#FF3FA4C5" Name="subjectsTeachers">subjectsTeachers</ComboBoxItem>
<ComboBoxItem Foreground="#FF3FA4C5" Name="TeachersTbl">TeachersTbl</ComboBoxItem>
</ComboBox>
</Canvas>
</Grid>
有誰知道如何解決它或我做錯了什么?
WPF ComboBox控件( MSDN )沒有SelectedIndexChanged
事件,您可能會想到WinForms事件。
除此之外; 您應該使用MVVM( MVVM:從頭到尾的教程? ),而不要過多地(如果有的話)依賴控制事件。 在這種情況下,您可以通過綁定SelectedItem
輕松完成此操作,並在視圖模型屬性的設置器中更新DataGrid
的ItemsSource
綁定到的集合。
最后一點; 幾乎可以肯定使用Canvas
是不正確的; 您應該只使用Grid
這樣您就可以很好地調整大小,而不是絕對定位。
SelectionChanged屬性可以用於組合框,並且可以將命令綁定到該組合框。 可以根據命令在Viewmodel中編寫相應的動作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.