【发布时间】:2019-11-02 06:34:00
【问题描述】:
我有一个设备列表,用户将在该列表中选择哪个 COM 端口代表哪个设备,每个设备都有自己的StackPanel,如下所示:
<StackPanel Orientation="Horizontal" Margin="5">
<TextBlock Width="140" Text="IMT" VerticalAlignment="Center"/>
<ComboBox Width="250" Margin="0,0,40,0" x:Name="FM_list" SelectionChanged="DeviceSelected"/>
<TextBlock x:Name="FM_selection" Margin="0,0,40,0" Width="80 "/>
<Button Background="Red" Width="50" Click="Port_selected" x:Name="FM_selection1"/>
</StackPanel>
用户在ComboBox 中进行选择后,通过单击相邻的Button 进行验证。
我想要这样当点击Button 时TextBlock 的x:Name(或另一种引用方式)被传递给Port_selected 函数,这样我就可以在调用TextBox.Name 时获得正确的设备在发件人上。
我可以为这些按钮中的每一个单独的x:Name 和一个字典来匹配哪个按钮匹配哪个TextBlock 和哪个StackPanel,但我想知道如何在没有这种解决方法的情况下做。现在我只是去掉Button的x:Name的最后一个字符...
【问题讨论】:
-
您可以将 Button 的
Command属性绑定到视图模型中的 ICommand 属性,并将 Button 的CommandParameter属性绑定到其他一些 XAML 元素,而不是附加 Click 事件处理程序然后作为参数传递给命令的 CanExecute 和 Execute 方法。例如。喜欢这里:stackoverflow.com/q/12371253/1136211