private static bool _NonClientFrameEdgesAreValid(object value)
{
NonClientFrameEdges ncEdges = NonClientFrameEdges.None;
try
{
ncEdges = (NonClientFrameEdges)value;
}
catch (InvalidCastException)
{
return false;
}
if (ncEdges == NonClientFrameEdges.None)
{
return true;
}
// Does this only contain valid bits?
if ((ncEdges | NonClientFrameEdges_All) != NonClientFrameEdges_All)
{
return false;
}
// It can't sacrifice all 4 edges. Weird things happen.
if (ncEdges == NonClientFrameEdges_All)
{
return false;
}
return true;
}