I am using Infragistics for WPF 9.1 (Latest SR (June 22, 2009). I am using the xamTextEditor, not in the xamDataGrid, just within a regular Grid for data entry purposes as follows:
<igEditor:XamTextEditor Name="txtUserId" IsReadOnly="True" Value="{Binding Path=UserId}"></igEditor:XamTextEditor>
However, I am able to edit the value in the xamTextEditor. If I remove the binding as follows:
<igEditor:XamTextEditor Name="txtUserId" IsReadOnly="True" Value="123}"></igEditor:XamTextEditor>
then the xamTextEditor does not allow me to edit the value. This is what I would expect. Is there a reason that Binding the value would set IsReadOnly=False?
I am binding to a CSLADataSource, which is a lot like the ObjectDataSource. Any help would be grealy appreciated.
Ben
Hello Ben,
I was not able to reproduce this. I am also using the latest service release (9.1.20091.2075).
If you have a sample that reproduces this issue, please attach it to your next post so that we can look into it.
Thanks.
We ran into this problem yesterday. This is caused by CSLA. Maybe you've figured it out by now, but it could be useful for other people experiencing this.
I assume you have a CSLAAuthorizer in your XAML (as far as I know, this is the only thing that would cause this.) This will cause the bound controls' IsReadOnly property to be overridden by the authorizer. What you need to do is set your authorization rules properly in the business object. For example:
AuthorizationRules.DenyWrite("NameOfYourProperty", "RoleName")
After we did this, IsReadOnly was set to True by the CSLAAuthorizer. (We set "RoleName" to a blank string because we haven't set up our roles yet - that works too, depends on what you guys are doing I guess.)