From the sample link you provided, the EditorWidget is set up this way:
<esri:EditorWidget x:Name="MyEditorWidget"
Map="{Binding ElementName=MyMap}"
Width="300"
AutoSelect="False"
GeometryServiceUrl="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"
ShowAttributesOnAdd="True"
Loaded="EditorWidget_Loaded"/>
The EditorWidget properties that need to be set at minimum are Map and GeometryServiceUrl. However, if your map does not contain GraphicsLayer or FeatureLayer with ID, all buttons will be disabled. If GeometryServiceUrl has not been specified then commands that may need them (Add, Union, Cut, Reshape, EditVertices) will also be disabled.As for your other question, if you want to customize the look and feel of the EditorWidget, it can be done the same way as the other controls. Please see this blog post: http://blogs.esri.com/Dev/blogs/silverlightwpf/archive/2010/05/20/Use-control-templates-to-customize....The FeatureDataForm that is displayed on a ChildWindow after an Add is completed or DisplayAttribute is clicked use the default style. If you want more control of how the fields are displayed, you can do the following:1. Set EditorWidget ShowAttributesOnAdd to False.2. Subscribe to EditorWidget.EditCompleted3. Use customized FeatureDataForm or use your own UserControl to display attributes.
private void MyEditorWidget_EditCompleted(object sender, Editor.EditEventArgs e)
{
if (e.Action == Editor.EditAction.Add)
{
foreach (Editor.Change change in e.Edits)
{
if (change.Layer != null && change.Layer is FeatureLayer && change.Graphic != null)
{
FeatureLayer featureLayer = change.Layer as FeatureLayer;
ShowAttributeForm(featureLayer, change.Graphic);
break;
}
}
}
}
private void ShowAttributeForm(FeatureLayer featureLayer, Graphic graphic)
{
ChildWindow window = new ChildWindow();
FeatureDataForm form = new FeatureDataForm()
{
GraphicSource = graphic,
FeatureLayer = featureLayer,
IsReadOnly = featureLayer.IsReadOnly
};
window.Content = form;
form.EditEnded += (s, e) => { window.Close(); };
window.Show();
}
The code in red above can be replaced with another UserControl or maybe set FeatureDataForm style.