My GridView Item source is bound with this collection.
The grid column displays the numbers of the enums and not the actual desired strings.
I have verified using a debugger that I am actually gettin the strings and not the int representation of the Enums.
Binding the same collection to a text block gives me the desired string enum values.
** Interestingly**
When I set the read only attribute of the grid to false (Or leave it default) , and doble click on a cell the grid cell value actually changes to the desired string enum value.
How can I solve this issue.
<Controls1:RadGridView Grid.Row="0" Grid.Column="0" x:Name="ClusterGridView" IsReadOnly="true" AutoGenerateColumns="False" ColumnsWidthMode="Fill" Style="{StaticResource AutoVirtRadGridViewDefaultStyle}">
<Controls1:RadGridView.Columns>
<Controls1:GridViewDataColumn HeaderText="Server Name" UniqueName="ServerName" Width="300"/>
<Controls1:GridViewDataColumn HeaderText="Type" UniqueName="NodeRole" Width="300"/>
<Controls1:GridViewDataColumn HeaderText="Status" UniqueName="NodeStatus" Width="300"/>
</Controls1:RadGridView.Columns>
</Controls1:RadGridView>
ClusterGridView.ItemsSource = ManagementService.NodeStatusOc;
#region
Get Cluster Status completed
/// <summary>
/// Get Cluster Status completed
/// </summary>
/// <param name="faultDetail"></param>
/// <param name="clusterStatus"></param>
private void GetClusterStatusCompleted(UiFaultDetail faultDetail, ClusterStatusParametersUi clusterStatus)
{
if (faultDetail != null)
{
Dispatcher.BeginInvoke(() => new ErrorAvWindow(faultDetail));
}
else
{
Dispatcher.BeginInvoke(() =>
{
if (clusterStatus != null)
{
ClusterMainContent.Header = string.Format("{0} {1} {2}",
StringResources.
ContentHeader_Clusters,
StringResources.Cluster_Is,
clusterStatus.State);
if (!clusterStatus.State.Equals(ClusterStatus.Quorum))
{
ClusterMainContent.IsExpanded = true;
}
lock (ManagementService.NodeStatusOc)
{
if (clusterStatus.Nodes.Count > 0)
{
ManagementService.NodeStatusOc.Clear();
clusterStatus.Nodes.ForEach(nodeStatus => ManagementService.NodeStatusOc.Add(nodeStatus));
}
}
}
});
}
}
#endregion