将单选按钮IsChecked绑定到对象当前元素的状态数组

时间:2017-02-23 17:27:23

标签: c# .net wpf mvvm data-binding

我正在使用C#/ WPF / MVVM开发一个小实用程序,它允许设置我们用于测试的控制器的输入状态。我正在开发的应用程序与硬件/我们与硬件的Web服务通信之间的通信只是一种方式,这意味着应用程序只能设置输入的状态,但不能获得状态。

另一点需要提及的是,在我们的解决方案的其他部分中已经为此定义了一些类型,这些类型都在F#中。要做我的应用程序,我目前正在使用C#。所以我做了一个Unit类来包装F#中定义的LocalControllerTypes.LocalController类型,包含很多所需的信息。

为了做到这一点,我有一个enum枚举InputState可能(目前有ActiveNormal,但该列表可能会随着时间而增长) 。此外,每个单元类型上存在的输入数量是不同的(有些有2个,有些有4个,有些有更多),所以我在所选单元的ItemControl数组上有一个Inputs绑定,遗憾的是,只包含我必须显示的输入名称。该单元还有2个与其输入相关的其他属性InputWriters,这是一个类型的数组,用于将命令发送到与该硬件通信的硬件/ Web服务,InputStates ,它是每个输入的InputState数组,最后在应用程序中设置(因为我们无法从硬件中获取状态)。

现在我想将单选按钮的IsChecked属性(我将其定义为ItemTemplate的{​​{1}})绑定到当前的ItemsControl InputState(在我的ViewModel中)。 我遇到的问题,就是我会以某种方式需要知道单选按钮是SelectedUnit的{​​{1}}数组的索引,以便获取项目在SelectedUnit的{​​{1}}属性的相同索引处。

有没有办法实现这个目标?

MainWindow.xaml:

Inputs

Unit.cs:

SelectedUnit

MainViewModel.cs:

InputStates

0 个答案:

没有答案