.net 使用UserControl的混淆
我已经应用了wpf mvvm和viewmodelocator 我希望我能创建一个通用的usercontrol来执行crud 这个用户控件,可以在多个视图中使用 我的视图xaml(Articoli窗口): 例如: 查看Articoli: 查看客户端: 我的示例代码源: Crudusercontrol(我的usercontrol)不知道视图的模型及其所有更改。 我该怎么办?.net 使用UserControl的混淆,.net,wpf,mvvm,user-controls,.net,Wpf,Mvvm,User Controls,我已经应用了wpf mvvm和viewmodelocator 我希望我能创建一个通用的usercontrol来执行crud 这个用户控件,可以在多个视图中使用 我的视图xaml(Articoli窗口): 例如: 查看Articoli: 查看客户端: 我的示例代码源: Crudusercontrol(我的usercontrol)不知道视图的模型及其所有更改。 我该怎么办? 或者还有其他的方法???解药!如果我没有正确理解这个问题,您必须原谅我,但您似乎正在尝试将当前视图模型传递到一个save命
或者还有其他的方法???解药!如果我没有正确理解这个问题,您必须原谅我,但您似乎正在尝试将当前视图模型传递到一个save命令处理程序中。您在这里发布的代码只有一个按钮,但您发布的演示代码有两个按钮,因此我将向您展示如何为每个按钮执行此操作。这两种情况都可以通过通过CommandParameter传入视图模型来实现,在第一种情况下,请执行以下操作:
<Button Content="Salva con UserControl" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="148" Command="{Binding SalvaCommand}" CommandParameter="{Binding}"/>
<Button Content="Salva Senza UserControl" HorizontalAlignment="Left" Margin="319,224,0,0" VerticalAlignment="Top" Width="164" Command="{Binding SalvaNormaleCommand}" CommandParameter="{Binding ArticoliModel}"/>
将使用类型为CrudUserControlViewModel
的对象调用命令处理程序。在第二种情况下,请执行以下操作:
<Button Content="Salva con UserControl" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="148" Command="{Binding SalvaCommand}" CommandParameter="{Binding}"/>
<Button Content="Salva Senza UserControl" HorizontalAlignment="Left" Margin="319,224,0,0" VerticalAlignment="Top" Width="164" Command="{Binding SalvaNormaleCommand}" CommandParameter="{Binding ArticoliModel}"/>
命令处理程序将使用Articoli类型的对象调用
还有一件事,我注意到您正在调用OnPropertyChanged(),您实际上应该传入正在更新的属性的名称,即:
public string Descrizione
{
get { return _descrizione; }
set
{
_descrizione = value;
OnPropertyChanged("Descrizione"); // <----- look here
}
}
公共字符串描述
{
获取{return\u descripione;}
设置
{
_描述=价值;
OnPropertyChanged(“描述”);//虽然我知道英语不是你的第一语言,但你的问题中的文本目前很难理解。如果你想让别人回答你的问题,你能通过清楚地解释你的问题来改进它吗?你是对的,英语不是我的第一语言,现在我变了,我希望你能理解更好
<Button Content="Salva con UserControl" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="148" Command="{Binding SalvaCommand}" CommandParameter="{Binding}"/>
<Button Content="Salva Senza UserControl" HorizontalAlignment="Left" Margin="319,224,0,0" VerticalAlignment="Top" Width="164" Command="{Binding SalvaNormaleCommand}" CommandParameter="{Binding ArticoliModel}"/>
public string Descrizione
{
get { return _descrizione; }
set
{
_descrizione = value;
OnPropertyChanged("Descrizione"); // <----- look here
}
}