WPF'de, FlowDocument
öğelerine dalgalı alt çizgiler (Word'de yazım hataları gibi) eklemek için kolay bir yol var mı? Underline
sınıfı var, ancak stil oluşturmanın bir yolu yok gibi görünüyor.FlowDocument içinde dalgalı alt çizgiler
cevap
Sen
Grid.Resources bölümüne görsel fırça ekle Robert Macne çözümüyle aşağıdaki değişiklikleri kullanarak dalgalı bir etki yaratabilir:
<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>
Ve kalem değiştirin:
<Pen Brush="{StaticResource WavyBrush}" Thickness="6" />
kırmızı altı çizili yeterince basittir:
<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>
A dalgalı kırmızı alt çizgi biraz daha fazla dahil olur, ama onun içinde dalgalı kırmızı şeyle VisualBrush'taki yaratabilecek düşünüyorum ve bu set Alt çizgi TextDecoration için belirttiğiniz Kalemin Fırçası olarak. Düzenleme: Bunun için bkz. bstoney adlı kullanıcının mesajı.
Robert merhaba, lütfen benim WPF Soru, bkz onun mümkün ya da değil http://stackoverflow.com/questions/17541780/how-to-set-inline-images-vertically-center-in- richtextbox –
Bunun eski bir soru olduğunu biliyorum ama bu fırçayı tercih ediyorum. Biraz açısal ama çok temiz. İşte
<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>
kodda uygulandığı @ bstoney en çözümdür.
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. Dalgalı kırmızı alt çizgi özelliğini
- 2. VS 2013'te Solution Explorer'da kırmızı veya yeşil dalgalı çizgiler
- 3. FlowDocument
- 4. dalgalı animasyonu
- 5. Hatalar nasıl giderilir (kırmızı alt çizgiler) D2007
- 6. FlowDocument, rtf'ye dönüştürme
- 7. QTreeWidget içinde noktalı çizgiler nasıl gizlenir
- 8. FlowDocument içinde XPS belgesi olarak kaydedilen eksik resimler
- 9. Dalgalı modu LibGDX üzerinde kullanma
- 10. Dalgalı/kontrolörde 'ürünleri' gösterme/alma
- 11. Silverlight'taki FlowDocument için en iyi yedek nedir?
- 12. WPF FlowDocument Ölçeğine Sığacak Sayfa
- 13. FlowDocument öğesini basit metne dönüştürme
- 14. FlowDocument Saptamasını Değiştirin ve Kaydırın
- 15. Alt çizgiler yatay olarak birbirinin üzerinde nokta ile nasıl konumlandırılır?
- 16. Çizgiler dizisi
- 17. UITextField çoklu çizgiler
- 18. Garip diyagonal çizgiler
- 19. R'deki figürün pdf değeri, içinde beyaz çizgiler var
- 20. Bir flowdocument öğesinin tüm içeriğini nasıl silebilirsiniz
- 21. Kesikli ve sürekli çizgiler çizme
- 22. gridview içinde alt öğeleri ortalamak
- 23. Bağlantılı eğri çizgiler
- 24. CSS'de açılı çizgiler çizme
- 25. Duyarlı diyagonal çizgiler css
- 26. WPF'de flowdocument olarak .rtf veya .doc'u nasıl gösterebiliriz?
- 27. Bir FlowDocument Listesinde bir liste bağlama <MyClass>?
- 28. LineObj issue ile ZedGraph dikey çizgiler
- 29. JavaScript göster/gizle kenarlıklar/çizgiler
- 30. Visual Studio uzantısı ile yeşil (veya mavi) dalgalı süsleme oluşturma nasıl oluşturulur?
+1, bu düşündüğüm şey ama doğru çalışması için işe yaramadı, güzel! –
Güzelce oldukça zor ölçeklemek için kübik bir bezier yolu buldum. İki diyagonal çizgi de işe yarıyor ama iyi görünmüyordu. – bstoney
Yukarıdaki WavyBrush, test ettiğim bir dalga değil. – Elisabeth