Hi
All,
I am working on Silverlight 3.0 with MVVM . In
this,I have bind Button "Command" Property as below -
1. Bind Command
Collapse | Copy Code
<Button x:Name="Submit"
Content="Submit" ClickMode="Release" Grid.Row="4" >
<i:Interaction.Triggers>
<i:EventTrigger
EventName="Click">
<!--<si:CallDataMethod Method="TestCompany"
Target="{Binding SubmitCommand}"/>-->
<si:InvokeDataCommand
Command="TestCompany.SubmitCommand" ></si:InvokeDataCommand>
<!--<si:ShowMessageBox Caption="Thank you"
Message="Thanks for trying the Example"
MessageBoxButton="OK"/>
<si:SetProperty
TargetName="t21" PropertyName="Background"
Value="PaleGoldenrod"/>-->
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
2. View Module -
private ICommand
_SubmitCommand;
public ICommand SubmitCommand
{
get
{
if
(_SubmitCommand == null)
{
_SubmitCommand = new RelayCommand(InsertData);
}
return
_SubmitCommand;
}
}
int i =
0;
void
InsertData()
{
Proxy.InsertCompanyCompleted += new EventHandler<InsertCompanyCompletedEventArgs>(Proxy_InsertCompanyData);
ServiceReference1.Company C = new
ServiceReference1.Company()
{
CompanyID = CompanyID,
CompanyName = CompanyID,
};
Proxy.InsertCompanyAsync(C);
if (i
== 1)
{
MessageBox.Show("Data Inserted Successfully");
}
}
// void Proxy_InsertCompanyData(object
sender,InsertCompanyCompletedEventArgs e)
void
Proxy_InsertCompanyData(object sender,
ServiceReference1.InsertCompanyCompletedEventArgs
e)
{
if
(e.Error == null)
{
i = e.Result;
}
}
3- There is one more Class Name is Relay Command as below -
public class RelayCommand:ICommand
{
private Func canExecute;
private Action executeAction;
public event EventHandler CanExecuteChanged;
public RelayCommand(Action executeAction,
Func canExecute)
{
this.executeAction = executeAction;
this.canExecute = canExecute;
}
public RelayCommand(Action executeAction)
{
this.executeAction = executeAction;
this.canExecute = () => true;
}
public void RaiseCanExecuteChanged()
{
if (CanExecuteChanged != null)
{
CanExecuteChanged(this, EventArgs.Empty);
}
}
public bool CanExecute(object parameter)
{
return canExecute == null ? true : canExecute();
}
public void Execute(object parameter)
{
executeAction();
}
}
However above code is not working and i getting the following error on
InitializeComponent()of my xaml page -
XAMLParseException Occurred
AG_E_PARSER_BAD_PROPERTY_VALUE [Line: 43 Position: 51]
Can you plz suggest me.