我的 XAML 中有一些 RadioButtons ......
<StackPanel>
<RadioButton Name="RadioButton1" GroupName="Buttons" Click="ButtonsChecked" IsChecked="True">One</RadioButton>
<RadioButton Name="RadioButton2" GroupName="Buttons" Click="ButtonsChecked">Two</RadioButton>
<RadioButton Name="RadioButton3" GroupName="Buttons" Click="ButtonsChecked">Three</RadioButton>
</StackPanel>
我可以在 Visual Basic 代码中处理他们的点击事件。这有效...
Private Sub ButtonsChecked(ByVal sender As System.Object, _
ByVal e As System.Windows.RoutedEventArgs)
选择案例 CType(sender, RadioButton).Name
案例“RadioButton1”
'做某事
退出选择
案例“RadioButton2”
'做两件事
退出选择
案例“RadioButton3”
'做三件事
退出选择
结束选择
结束子
但是,我想改进它。此代码失败...
<StackPanel>
<RadioButton Name="RadioButton1" GroupName="Buttons" Click="ButtonsChecked" Command="one" IsChecked="True">One</RadioButton>
<RadioButton Name="RadioButton2" GroupName="Buttons" Click="ButtonsChecked" Command="two">Two</RadioButton>
<RadioButton Name="RadioButton3" GroupName="Buttons" Click="ButtonsChecked" Command="three">Three</RadioButton>
</StackPanel>
Private Sub ButtonsChecked(ByVal sender As System.Object, _
ByVal e As System.Windows.RoutedEventArgs)
选择案例 CType(sender, RadioButton).Command
案例“一”
'做某事
退出选择
案例“二”
'做两件事
退出选择
案例“三”
'做三件事
退出选择
结束选择
结束子
在我的 XAML 中,我在Command=属性上得到一个蓝色波浪下划线,并且这个提示......
“CommandValueSerializer”ValueSerializer 无法从“System.String”转换。
在我的 VB 中,我在Select Case行上得到一个绿色波浪下划线,并且这个警告......
将“System.Windows.Input.ICommand”转换为“String”时可能会出现运行时错误。
更好的是使用带有完整 Intellisense 的 Enum 类型命令并编译错误而不是运行时错误,以防出现拼写错误。我该如何改进呢?