我有两个类(classVM和class1)。在我的class1中,我从View中获取了一个参数。这种意义上的一切都有效。
但是我需要将该参数传递给classVM而不在class1中创建classVM的实例。
我该怎么做呢?
编辑:
参数(它是一个属性)从视图中的行为填充。 填充该属性后,VM中的另一个属性需要填充参数/ property。
编辑:
XAML
<dataContext:ItemTemplateSelectorClass>
<dataContext:ItemTemplateSelectorClass.StringTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Description}" Height="25" Width="75"/>
<TextBox Text="{Binding Value}" Height="23" Width="100">
<i:Interaction.Behaviors>
<dataContext:TextBoxBehavior Parameter="{Binding Description}"/>
</i:Interaction.Behaviors>
</TextBox>
</StackPanel>
</DataTemplate>
</dataContext:ItemTemplateSelectorClass.StringTemplate>
TextBoxBehavior中的参数是我创建的附加属性。描述和值绑定在另一个类中。我将不同类型的属性,方法和命令分离到不同的类中以进行错误处理(我不知道这是最好的方法,但这是我必须要做的。)对行为的绑定工作正常。
xaml datacontext
<Window.DataContext>
<dataContext:FieldsModel x:Name="dataContext" />
</Window.DataContext>
虚拟机资源
private object selectedField;
public object SelectedField {
get {
return selectedField;
}
set {
if (selectedField != value) {
selectedField = value;
SetPropertyChanged("SelectedField");
}
}
}
答案 0 :(得分:0)
您应该将值存储在视图中但不存储在模型中;或者如果'参数'(可能是您的意思是属性)来自视图中控件内的某个属性,请将其复制到视图模型。