Mvvm Windows Phone 8命令错误:BindingExpression路径错误:';萨尔瓦多';
我的命令指向模型类,而不是ModelView System.Windows.Data错误:BindingExpression路径错误:“在”SuperListaW8.Model.ListaItem“SuperListaW8.Model.ListaItem”上未找到“SalvarCommand”属性 EditListaPage.xamlMvvm Windows Phone 8命令错误:BindingExpression路径错误:';萨尔瓦多';,mvvm,windows-phone-8,command,mvvm-light,Mvvm,Windows Phone 8,Command,Mvvm Light,我的命令指向模型类,而不是ModelView System.Windows.Data错误:BindingExpression路径错误:“在”SuperListaW8.Model.ListaItem“SuperListaW8.Model.ListaItem”上未找到“SalvarCommand”属性 EditListaPage.xaml <phone:PhoneApplicationPage x:Class="SuperListaW8.View.EditListaPage" xmlns="h
<phone:PhoneApplicationPage
x:Class="SuperListaW8.View.EditListaPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wm="clr-namespace:System.Windows.Controls;assembly=WindowsPhoneWatermarkTextBoxControl"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP8"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
DataContext="{Binding Source={StaticResource Locator}, Path=ListaViewModel}"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">
正在模型中查找我的命令,而不是在ViewModel ListaItem ListaViewModel中。有人能帮我吗?您可以命名列表框,并在绑定中使用ElementName引用它,在路径中使用DataContext.DetailsVisibility
<ListBox x:Name="listBox" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Details}"
Visibility="{Binding ElementName=listBox,
Path=DataContext.DetailsVisibilty}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
namespace SuperListaW8.ViewModel
{
public class ViewModelLocator
{
public ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
if (!SimpleIoc.Default.IsRegistered<IDataService>())
{
SimpleIoc.Default.Register<IDataService, DataService>();
//SimpleIoc.Default.Register<INavigationService>(() => new NavigationService());
}
SimpleIoc.Default.Register<ListaViewModel>();
}
public ListaViewModel ListaViewModel
{
get
{
return ServiceLocator.Current.GetInstance<ListaViewModel>();
}
}
public static void Cleanup() { }
}
}
namespace SuperListaW8.ViewModel
{
public class ListaViewModel : ViewModelBase
{
public RelayCommand SalvarCommand { get; private set; }
public ListaViewModel(IDataService dataService)
{
_dataService = dataService;
SalvarCommand = new RelayCommand(() =>
{
System.Diagnostics.Debugger.Break();
});
}
}
}
<ListBox x:Name="listBox" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}" />
<TextBlock Text="{Binding Details}"
Visibility="{Binding ElementName=listBox,
Path=DataContext.DetailsVisibilty}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>