Czy w WPF można łatwo dodać faliste podkreślenia (takie jak błędy pisowni w programie Word) do elementów FlowDocument
? Jest klasa Underline
, ale wydaje się, że nie ma sposobu na jej stylizację.Faliste podkreślenia w pliku FlowDocument
Odpowiedz
Można stworzyć efekt falowania przy użyciu następujących zmian w roztworze Roberta Macne za
Dodaj pędzla wizualny do sekcji Grid.Resources:
<VisualBrush x:Key="WavyBrush" Viewbox="0,0,3,2" ViewboxUnits="Absolute" Viewport="0,0.8,6,4" ViewportUnits="Absolute" TileMode="Tile">
<VisualBrush.Visual>
<Path Data="M 0,1 C 1,0 2,2 3,1" Stroke="Red" StrokeThickness="0.2" StrokeEndLineCap="Square" StrokeStartLineCap="Square" />
</VisualBrush.Visual>
</VisualBrush>
i zmienić pióra:
<Pen Brush="{StaticResource WavyBrush}" Thickness="6" />
czerwone podkreślenia jest dość prosta:
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid.Resources>
<FlowDocument x:Key="doc">
<Paragraph>
<Run Text="This text is underlined in red.">
<Run.TextDecorations>
<TextDecoration Location="Underline">
<TextDecoration.Pen>
<Pen Brush="Red" Thickness="1" DashStyle="{x:Static DashStyles.Dot}"/>
</TextDecoration.Pen>
</TextDecoration>
</Run.TextDecorations>
</Run>
</Paragraph>
</FlowDocument>
</Grid.Resources>
<FlowDocumentReader Document="{StaticResource doc}"/>
</Grid>
falisty czerwone podkreślenia byłby nieco bardziej zaangażowane, ale myślę, że można utworzyć VisualBrush z falistym czerwonym rzeczy w nim i ustaw, które jako Brush Pen, który określasz dla podkreślenia TextDecoration. Edytuj: patrz wpis bstoney.
Cześć Robert, pls zobaczyć moje pytanie WPF jego możliwości lub nie http://stackoverflow.com/questions/17541780/how-to-set-inline-images-vertically-center-in- richtextbox –
Wiem, że to stare pytanie, ale ja wolę ten pędzel. Jest trochę kanciasty, ale bardzo czysty.
<VisualBrush x:Key="WavyBrush">
<VisualBrush.Visual>
<Path Data="M 0,2 L 2,0 4,2 6,0 8,2 10,0 12,2" Stroke="Red"/>
</VisualBrush.Visual>
</VisualBrush>
Oto rozwiązanie @ bstoney zaimplementowane w kodzie.
Pen path_pen = new Pen(new SolidColorBrush(Colors.Red), 0.2);
path_pen.EndLineCap = PenLineCap.Square;
path_pen.StartLineCap = PenLineCap.Square;
Point path_start = new Point(0, 1);
BezierSegment path_segment = new BezierSegment(new Point(1, 0), new Point(2, 2), new Point(3, 1), true);
PathFigure path_figure = new PathFigure(path_start, new PathSegment[] { path_segment }, false);
PathGeometry path_geometry = new PathGeometry(new PathFigure[] { path_figure });
DrawingBrush squiggly_brush = new DrawingBrush();
squiggly_brush.Viewport = new Rect(0, 0, 6, 4);
squiggly_brush.ViewportUnits = BrushMappingMode.Absolute;
squiggly_brush.TileMode = TileMode.Tile;
squiggly_brush.Drawing = new GeometryDrawing(null, path_pen, path_geometry);
TextDecoration squiggly = new TextDecoration();
squiggly.Pen = new Pen(squiggly_brush, 6);
text_box.TextDecorations.Add(squiggly);
- 1. Netbeans - Wyłącz - faliste czerwone podkreślenia - Jak?
- 2. Jak mogę ukryć akapit w pliku FlowDocument?
- 3. podkreślenie faliste w CSS
- 4. Powiązanie listy w pliku FlowDocument do listy <MyClass>?
- 5. Detect FlowDocument Change and Scroll
- 6. FlowDocument Force a PageBreak (BreakPageBefore)
- 7. Zmniejszanie odstępów między wierszami w TextBlock/FlowDocument
- 8. Jaki jest najlepszy substytut FlowDocument w Silverlight?
- 9. Pokój podkreślenia w Pythonie
- 10. Znaczenie podkreślenia w Groovy
- 11. Znaczenie podkreślenia w WaitCallback
- 12. Dlaczego Razor _layout.cshtml ma wiodący znak podkreślenia w nazwie pliku?
- 13. Jak mogę skopiować zawartość WPF FlowDocument InlineUIContainer?
- 14. WPF FlowDocument Scale to Fit Page
- 15. Pokój podkreślenia w CakePHP 2.0
- 16. Użyj podkreślenia (_) w testach ExUnit
- 17. Co to jest prefiks podkreślenia dla nazwy pliku Pythona?
- 18. Czerwone lub zielone linie faliste w Eksploratorze rozwiązań w VS 2013
- 19. Co robi znak _ ("tekst"), czyli znak podkreślenia podkreślenia?
- 20. Wybierz zakres tekstu w RichTextBox WPF (FlowDocument) Programowo
- 21. podkreślenia ustawienia interpolacji
- 22. JavaScript zastąpić podkreślenia przestrzeni
- 23. Znacznik podkreślenia <a> podkreślenia po najechaniu myszą
- 24. java.net.URI uzyskać szereg podkreślenia
- 25. XStream i podkreślenia
- 26. Scala podkreślenia minimalny funkcja
- 27. Python podwójne podkreślenia maglowania
- 28. Zmiana koloru podkreślenia
- 29. pyton nazwa funkcji podkreślenia
- 30. Jak usunąć błędy (czerwone podkreślenia) w D2007
+1, to jest właśnie to, o czym myślałem, ale nie mogłem sprawić, żeby działało poprawnie, ładnie! –
Zauważyłem, że uzyskanie sześciennej ścieżki beziera do skalowania ładnie dość trudne. Dwie linie ukośne również działają, ale nie wyglądały tak dobrze. – bstoney
To, że WavyBrush powyżej nie jest falą, którą przetestowałem. – Elisabeth