编辑:改写问题。我的基本问题是我应该在哪里放置视图模型。我应该像这样将它放在 App.xaml 中的字典中吗:
<ResourceDictionary>
<wpfExp:SignalDataViewModel x:Key="MainViewModel" />
<wpfExp:DoubleToStringConverter x:Key="DoubleToStringConverter"/>
</ResourceDictionary>
我目前的想法是在我的自定义用户控件中包含一个 viewmodel 属性。然后 public 部分类 SignalBox : UserControl { public SignalDataViewModel _SignalData { get; 私人套装;}
我当时的想法是,我有两个选择。我可以将此处的字段绑定到应用程序资源中的 signaldataviewmodel,或者我可以在自定义用户控件中本地创建它。我只是想知道让 signaldataviewmodel 成为应用程序资源是否更好。从技术上讲,将模型与视图相关联的 signaldataview 可能与其他控件相关联,因此我认为将它定位在应用程序资源中的正确位置,所以我想知道视图模型是否通常全局放置在应用程序资源中,或者是否有其他东西是和他们一起完成。
编辑:底部已回答。是否有可用于绑定扩展路径或子路径的语法?
我有
ItemsSource="{Binding ElementName=signal_box, Path = _SignalData}
但我想将 _SignalData 的子属性绑定到 _signals。
有没有语法来获取孩子?喜欢Binding ElementName=signal_box, Path = _SignalData._Signals?
或类似 Binding RelativeSource 但有后代而不是祖先?