我建立一個基於MVVM並使用Autofac作爲依賴注入一個小應用程序更新。沒有得到按鈕使用MVVM和Autofac在Windows Phone 8的
我已經創建了所有的ViewModels取決於從VMBase和我還使用VMLocator注入所有依賴(使用Autofac如前所述)。
public class VMLocator
{
IContainer container;
public VMLocator()
{
var builder = new ContainerBuilder();
builder.RegisterType<VMRetrieveInfo>();
container = builder.Build();
}
public VMRetrieveInfo RetrieveInfoViewModel
{
get { return container.Resolve<VMRetrieveInfo>(); }
}
}
明白了處理CanExecute的提出了一個DelegateCommand類:
public void RaiseCanExecuteChanged()
{
if (this.CanExecuteChanged != null)
this.CanExecuteChanged(null, new EventArgs());
}
我的問題是當我嘗試使用,改變使用CanExecute方法,它返回一個變量的狀態DelegateCommand類把一個按鈕,當我按另一個按鈕時會改變。 改變變量的值似乎並沒有啓動可變更CanExecute結果的任何事件(CanExecute方法不甚至稱),我很迷失。
public ICommand NavigateCommand
{
get { return navigateCommand; }
}
public void NavigateCommandExecute()
{
}
public bool NavigateCommandCanExecute()
{
return canCallWS;
}
運行不依賴注入一個類似的應用程序(Autofac)之前已經爲我工作。
任何幫助?
感謝
感謝若蘇埃!一個人的快樂,你一直在回答;-) –
我已經有了這種方法...,在描述中更新 –
嗨!太好了,現在你更新了canCallWS變量/屬性,調用你想更新CanExecute狀態的DelegateCommand的RaiseCanExecuteChanged,並且瞧!它只是需要工作.... –