public static void UpdateLineBreakMode(this TextBlock platformControl, ILineBreakMode breakMode) { var lineBreakMode = breakMode.LineBreakMode; var label = breakMode as ILabel; switch (lineBreakMode) { case LineBreakMode.NoWrap: platformControl.TextTrimming = TextTrimming.Clip; platformControl.TextWrapping = TextWrapping.NoWrap; break; case LineBreakMode.WordWrap: platformControl.TextTrimming = TextTrimming.None; platformControl.TextWrapping = TextWrapping.Wrap; break; case LineBreakMode.CharacterWrap: platformControl.TextTrimming = TextTrimming.WordEllipsis; platformControl.TextWrapping = TextWrapping.Wrap; break; case LineBreakMode.HeadTruncation: // TODO: This truncates at the end. platformControl.TextTrimming = TextTrimming.WordEllipsis; if (label != null) { platformControl.DetermineTruncatedTextWrapping(label); } break; case LineBreakMode.TailTruncation: platformControl.TextTrimming = TextTrimming.CharacterEllipsis; if (label != null) { platformControl.DetermineTruncatedTextWrapping(label); } break; case LineBreakMode.MiddleTruncation: // TODO: This truncates at the end. platformControl.TextTrimming = TextTrimming.WordEllipsis; if (label != null) { platformControl.DetermineTruncatedTextWrapping(label); } break; default: throw new ArgumentOutOfRangeException(); } }
public static void UpdateLineBreakMode(this TextBlock nativeControl, ILabel label) { var lineBreakMode = label.LineBreakMode; switch (lineBreakMode) { case LineBreakMode.NoWrap: nativeControl.TextTrimming = TextTrimming.Clip; nativeControl.TextWrapping = TextWrapping.NoWrap; break; case LineBreakMode.WordWrap: nativeControl.TextTrimming = TextTrimming.None; nativeControl.TextWrapping = TextWrapping.Wrap; break; case LineBreakMode.CharacterWrap: nativeControl.TextTrimming = TextTrimming.WordEllipsis; nativeControl.TextWrapping = TextWrapping.Wrap; break; case LineBreakMode.HeadTruncation: // TODO: This truncates at the end. nativeControl.TextTrimming = TextTrimming.WordEllipsis; nativeControl.DetermineTruncatedTextWrapping(); break; case LineBreakMode.TailTruncation: nativeControl.TextTrimming = TextTrimming.CharacterEllipsis; nativeControl.DetermineTruncatedTextWrapping(); break; case LineBreakMode.MiddleTruncation: // TODO: This truncates at the end. nativeControl.TextTrimming = TextTrimming.WordEllipsis; nativeControl.DetermineTruncatedTextWrapping(); break; default: throw new ArgumentOutOfRangeException(); } }