编辑:重写问题。我的基本问题是我应该在哪里放置viewmodel。我应该将它放在App.xaml中的字典中,如下所示:
<ResourceDictionary>
<wpfExp:SignalDataViewModel x:Key="MainViewModel" />
<wpfExp:DoubleToStringConverter x:Key="DoubleToStringConverter"/>
</ResourceDictionary>
我目前的想法是在自定义用户控件中包含一个viewmodel属性。然后 public partial class SignalBox:UserControl { public SignalDataViewModel _SignalData { 得到; 私人集; }
我在想的是我有两种选择。我可以将这里的字段绑定到app资源中的signaldataviewmodel,或者我可以在自定义用户控件中本地创建它。我只是想知道signaldataviewmodel是不是应用程序资源是否更好。从技术上讲,将模型与视图联系起来的signaldataview可以绑定到其他控件,因此我认为找到它的适当位置将是应用程序资源,所以我想知道视图模型是否通常全局放置在应用程序资源中,或者是否还有其他内容与他们一起完成。
编辑:底部回答。 是否有可用于绑定扩展路径或子项的语法?
我有
ItemsSource="{Binding ElementName=signal_box, Path = _SignalData}
但我想将_Signals绑定到_signals的子属性。
是否有语法来帮助孩子?比如Binding ElementName=signal_box, Path = _SignalData._Signals?
或类似于Binding RelativeSource但是有后代而不是祖先?