Example #1
0
        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();
            }
        }
Example #2
0
        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();
            }
        }