簡體   English   中英

無法在組合框C#(和XAML)中執行selectedIndexChanged

[英]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輕松完成此操作,並在視圖模型屬性的設置器中更新DataGridItemsSource綁定到的集合。

最后一點; 幾乎可以肯定使用Canvas是不正確的; 您應該只使用Grid這樣您就可以很好地調整大小,而不是絕對定位。

SelectionChanged屬性可以用於組合框,並且可以將命令綁定到該組合框。 可以根據命令在Viewmodel中編寫相應的動作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM