为了账号安全,请及时绑定邮箱和手机立即绑定

无法在组合框 c#(和 xaml)中执行 selectedIndexChanged

无法在组合框 c#(和 xaml)中执行 selectedIndexChanged

C#
蓝山帝景 2021-08-07 18:00:53
我试图让用户从我的数据库中选择要显示的表,我听说这样做的最佳方法是使用“selectedIndexChanged”事件,这样当用户单击所需的表时,它会立即显示它。但是,出于某种原因,当我单击我的组合框然后单击事件时,我没有看到“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>有谁知道如何解决它或我做错了什么?
查看完整描述

2 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

WPF ComboBox 控件 ( MSDN ) 没有SelectedIndexChanged事件,您可能会想到 WinForms 一个。

除此之外; 您应该使用 MVVM(MVVM:从头到尾的教程?)而不是过多(如果有的话)依赖控制事件。在这种情况下,您可以通过绑定轻松完成此操作,SelectedItem并在视图模型属性的 setter 中更新DataGrid'sItemsSource绑定到的集合。

最后一个注意事项;使用Canvasthere 几乎肯定是不正确的;你应该坚持使用,Grid这样你就可以很好地调整大小而不是绝对定位。



查看完整回答
反对 回复 2021-08-07
?
白板的微信

TA贡献1883条经验 获得超3个赞

SelectionChanged 属性可用于组合框,并且可以将命令绑定到它。对应的动作可以针对命令写在Viewmodel中


查看完整回答
反对 回复 2021-08-07
  • 2 回答
  • 0 关注
  • 246 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信